因此,我正在尝试使用缓冲阅读器将文档(.txt)读入 java 项目,对其进行编辑,然后将其返回/输出。我遇到的问题是我无法识别标点符号。文件内容如下:
你好你好你好,你好/你好?
作为对不同情况的测试,我希望能够处理。我得到:
你好你好你好你好你好
有什么建议么?(如果需要回答,将提供代码部分)我正在考虑使用分隔符,但无法弄清楚这将如何在上下文中(或者是否甚至可以使用缓冲阅读器)。
顺便说一句,我正在逐个字符地阅读和编辑此文档,并通过检查多个数组以包含某些字符来运行它。如果这有帮助。
因此,我正在尝试使用缓冲阅读器将文档(.txt)读入 java 项目,对其进行编辑,然后将其返回/输出。我遇到的问题是我无法识别标点符号。文件内容如下:
你好你好你好,你好/你好?
作为对不同情况的测试,我希望能够处理。我得到:
你好你好你好你好你好
有什么建议么?(如果需要回答,将提供代码部分)我正在考虑使用分隔符,但无法弄清楚这将如何在上下文中(或者是否甚至可以使用缓冲阅读器)。
顺便说一句,我正在逐个字符地阅读和编辑此文档,并通过检查多个数组以包含某些字符来运行它。如果这有帮助。
您可以通过循环readLine将整个文件读入字符串(不推荐用于大文件)
然后在字符串上:
String.split("[\s.,/]")
这会将您的字符串拆分为几个不同的字符。
或者,如果您想拆分所有非字母:
String.split("[^A-Za-z]")
这将为您提供一个字符串数组,这很容易使用。然后你就在最后写回来。
如果您想处理所有标点符号和空格,我建议您使用 lucene tokenizer 并完成工作。此处给出了一个示例实现 How to use a Lucene Analyzer to tokenize a String? 但这取决于您的要求。如果只是逗号和空格,那么正则表达式就可以了