0

我已经使用 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

请建议我如何做到这一点?

4

2 回答 2

0
  1. 逐行读取文件。
  2. 用“”替换这些行中不需要的字符:line = line.replaceAll("^\\d{2}(\\.\\d)+ +", "").replaceAll(" +\\?$", "");
  3. 使用FileWriter写入文件。

这假设行首的数字格式是 dd(.d)*,其中 d 是一位数字,第一个之后的每个部分只有一位数字。否则,必须更改正则表达式以适合您的格式。

.replaceAll("[æ╚]", "");通过将所有这些字符添加到方括号中来删除神秘符号。确保您具有正确的编码。如果您使用“UTF-8”读取文件,则必须将这些字符复制到编辑器中,您可以在其中指定该文件为“UTF-8”。

于 2013-07-23T08:23:07.607 回答
0

用空格替换所有非单词字符是否就足够了,或者至少朝着正确的方向迈出了一步?

str = str.replaceAll("\\W+", " ");
于 2013-07-23T10:22:18.390 回答