2013-10-31 59 views
0

因此,我试图使用缓冲读取器将文档(.txt)读入Java项目中,对其进行编辑并将其返回/输出。我遇到的问题是无法识别标点符号。 该文件为:如何使用文本文档“划分”缓冲阅读器?

hello hello.hello,hello/hello?

作为我希望能够处理的不同情况的测试。 我也得到:

你好你好你好你好你好

有什么建议? (将提供部分代码,如果需要回答) 我正在考虑使用分隔符,但无法弄清楚如何根据上下文(或者甚至可能使用缓冲读取器)。

顺便说一句,我正在逐字读取和编辑这个文档,并通过多个数组中的检查来运行它以包含某些字符。如果有帮助。

+1

所以如果'hello hello.hello,hello/hello?'是你的输入,那么期望的输出是什么?我对你的措辞有点困惑。 –

回答

0

您可以读取整个文件到通过循环readLine一个String(不建议大文件)

然后在字符串:

String.split("[\s.,/]") 

这将在几个不同的字符分割你的字符串。

或者,如果你想拆就所有非字母:

String.split("[^A-Za-z]") 

这会给你一个字符串数组,这是相当容易的工作。然后你最后回写。

0

如果你想处理所有的标点符号和空格,我建议你去lucene tokenizer并完成工作。 此处给出了一个示例实现 How to use a Lucene Analyzer to tokenize a String? 但是,这取决于您的要求。如果它只是逗号和空格,那么正则表达式会做需要的