如何使用文本文档“分隔”缓冲的阅读器?

时间:2013-10-31 18:36:11

标签: java text delimiter punctuation buffered

所以,我试图使用缓冲的阅读器将文档(.txt)读入java项目,编辑它,并将其返回/输出。我遇到的问题是我无法识别标点符号。 该文件如下:

你好hello.hello,你好/你好?

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

hello hello hello hello hello

有什么建议吗? (如果需要回答,将提供代码部分) 我正在考虑使用分隔符,但无法弄清楚它是如何在上下文中进行的(或者甚至可以使用缓冲的阅读器)。

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

2 个答案:

答案 0 :(得分:0)

您可以通过循环readLine将整个文件读入字符串(不推荐用于大文件)

然后在字符串上:

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

这会将你的字符串分成几个不同的字符。

或者,如果您想要拆分所有非字母:

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

这会给你一个字符串数组,这很容易使用。然后你最后回复。

答案 1 :(得分:0)

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