我正在逐行阅读文件,然后分析每个单词。然后我使用 PrintWriter 将文字打印到一个新文件中。如果单词有标点符号,我需要读入没有标点符号的单词,因为我将标点符号直接写入输出文件。如果字符在单词的中间,我需要将它拆分成两个单词。
例子:
let's应该是两个词,“let”和“s”
你的,应该只是“你的”
除了检查每种标点符号的 word.contains() 然后将其拆分之外,我想不出任何其他方法。有什么建议吗?
最佳答案
您可以使用 \p{Punct}
, 这是 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
之一, 以及 \s
这是一个空白 [ \t\n\x0B\f\r]
:
line.split("[\\s\\p{Punct}]+");
例如:
"let's. your!".split("[\\s\\p{Punct}]+");
> ["let", "s", "your"]
关于java - 读入一个没有标点符号的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35324047/