我使用tika为一些pdf文件提取文本并将文本存储在文本文件中。 现在我想使用opennlp Chunk解析器解析这些文件,但我无法解析文件行,因为它包含一些特殊字符(一些方形符号),单词之间没有空格,我的文本文件中有样本行(无法显示那些方形符号,变音符号)
51.2.3 Troubleshooting DHCP Configuration ?
62 Module 3: Point-to-Point Protocol (PPP) ?
62.1 Configuring HDLC Encapsulation ?
所以我想把这些行作为
Troubleshooting DHCP Configuratin
Module 3: Point-to-Point Protocol(PPP)
Configuring HDLC Encapsulation
请建议我怎么做?
答案 0 :(得分:0)
line = line.replaceAll("^\\d{2}(\\.\\d)+ +", "").replaceAll(" +\\?$", "");
这假设行开头的数字格式为dd(.d)*,其中d是一位数,第一位数后面的每个部分只有一位数。否则,必须更改正则表达式以适合您的格式。
通过附加.replaceAll("[æ╚]", "");
将所有这些字符添加到方括号中来删除神秘符号。确保您拥有正确的编码。如果您使用“UTF-8”读取文件,则必须在编辑器中复制这些字符,您可以在其中指定此文件为“UTF-8”。
答案 1 :(得分:0)
用空白替换所有非单词字符是否足够,或者至少朝正确的方向迈出一步?
str = str.replaceAll("\\W+", " ");