【问题标题】:How do I "Delimit" a buffered reader with a text document?如何用文本文档“分隔”缓冲阅读器?
【发布时间】:2013-10-31 18:36:11
【问题描述】:

因此,我正在尝试使用缓冲阅读器将文档 (.txt) 读入 java 项目,对其进行编辑,然后将其返回/输出。我遇到的问题是我无法识别标点符号。 文件内容如下:

你好,你好,你好/你好?

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

你好你好你好你好

有什么建议吗? (如果需要回答,将提供代码部分) 我正在考虑使用分隔符,但不知道在上下文中会如何(或者是否可以使用缓冲阅读器)。

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

【问题讨论】:

  • 那么如果hello hello.hello,hello/hello? 是您的输入,那么预期的输出是什么?我对你的措辞有点困惑。

标签: java text delimiter punctuation buffered


【解决方案1】:

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

然后在字符串上:

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

这会将您的字符串拆分为几个不同的字符。

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

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

这将为您提供一个字符串数组,使用起来相当容易。然后你就在最后写回来。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 2020-02-20
      • 1970-01-01
      • 2013-04-17
      • 2023-03-28
      • 1970-01-01
      相关资源
      最近更新 更多