Java PDFBox,从表的特定行提取数据

时间:2015-08-10 17:02:05

标签: java pdfbox text-extraction

我有一个小问题,你肯定会在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

我指的是那个topic并尝试对其进行调整,但它不起作用!

如果我理解该行末尾的评论

String lines[] = text.split("\\r?\\n"); // give you all the lines separated by new line

在我的情况下String lines[] = text.split("Boston");应检索所有波士顿列,但事实并非如此。

那么我怎样才能找回所有的波士顿时代(07:30,08:00,11:15,01:30等)?

任何帮助都将不胜感激。

编辑:

我显然是在谈论本机的pdfbox功能

否则,我可以逐行分析PDF文件中提取的文本,但我想它不会安静优化/快速。

1 个答案:

答案 0 :(得分:0)

  

如果我理解该行末尾的评论

String lines[] = text.split("\\r?\\n"); // give you all the lines separated by new line
     

在我的情况下String lines[] = text.split("Boston");应检索所有波士顿列,但事实并非如此。

不,您的操作会在每次出现字符串“Boston”时拆分text。因此,在您的情况下,它会产生两个字符串

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

虽然在提取文本之前你不知道波士顿线的位置,但在提取文本之前几乎没有任何东西可以。