【发布时间】:2015-10-27 00:30:42
【问题描述】:
我正在尝试解析通过 pdfbox 转换为 txt 的 pdf 文件中的字段。这是我需要提取的字段示例,“买方姓名和地址:”。这些文档通常包含翻译,并且“:”冒号出现在买方姓名和地址之后的可变字符数。下面的例子。
文本文件..
买家姓名和地址 / NOMBRE Y
DIRECCIÓN DEL COMPRADOR:
此处为买家姓名
文本继续..
这是我尝试的模式/扫描代码。
Scanner sc = new Scanner(txtFile);
Pattern p = Pattern.compile("BUYER NAME AND ADDRESS.*:", Pattern.MULTILINE);
sc.findWithinHorizon(p, 0);
String buyer = sc.nextLine();
buyer = sc.nextLine();
System.out.println("Buyer Name: "+buyer);
这适用于文本文件仅为英文的情况,例如BUYER NAME AND ADDRESS:但如果有额外的字符或换行,则失败。如何修复模式?
【问题讨论】:
-
您的意思是将
Pattern.DOTALL与"BUYER NAME AND ADDRESS.*"一起使用吗? -
谢谢马拉卡,我想我需要阅读正则表达式语法。
-
@Kurter21 发布了一个答案,这个问题有两个简单的解决方案和无数其他的解决方案 ;-)
标签: java regex text java.util.scanner