我有一个小问题,你一定能在30秒内解决!: -)
我试着读pdf时间表中的某一行。
例子:
New York: 06:30 / 07:00 / 10:15 / 12:30
Boston: 07:30 / 08:00 / 11:15 / 01:30
Chicago: 08:30 / 09:00 / 12:15 / 02:30
我参考了那个主题,并试图适应它,但它不起作用!
如果我没理解错的话
String lines[] = text.split("\r?\n"); // give you all the lines separated by new line
在我的例子中,String lines[] = text.split("Boston");
应该检索所有的Boston列,但事实并非如此。
那么我如何检索所有波士顿时间(07:30、08:00、11:15、01:30,等等)呢?
如有任何帮助,不胜感激。
编辑:我说的显然是原生pdfbox函数
否则,我可以逐行分析从PDF文件中提取的文本,当然,但我猜它不会是安静的优化/快速。
如果我没理解错的话
String lines[] = text.split("\r?\n"); // give you all the lines separated by new line
在我的例子中,
String lines[] = text.split("Boston");
应该检索所有的Boston列,但事实并非如此。
不,您的操作在每次出现字符串&;boston &;时拆分text
。因此,在您的示例中,它会产生两个string
New York: 06:30 / 07:00 / 10:15 / 12:30
和
: 07:30 / 08:00 / 11:15 / 01:30
Chicago: 08:30 / 09:00 / 12:15 / 02:30
那么我如何检索所有波士顿时间(07:30、08:00、11:15、01:30,等等)呢?
在String text
中搜索子字符串"Boston:",获取以下子字符串直到下一个行结束符,并将其拆分为斜杠字符。
我说的显然是原生pdfbox函数
。你一开始讨论的是split
,这是Java String
类的一个方法,你现在的任务是在Java中进行纯字符串分析。
如果你谈论的是Pdfbox函数,你应该关注自定义PdfTextStripper
。
由于在提取文本之前您不知道Boston行在哪里,因此在提取文本之前您几乎无法做任何事情。