【发布时间】:2018-05-07 08:55:27
【问题描述】:
我需要将一些句子分成单词。
例如:
Upper sentence.
Lower sentence. And some text.
我是这样做的:
String[] words = text.split("(\\s+|[^.]+$)");
但我得到的输出是:
Upper, sentence.Lower, sentence., And, some, text.
应该是这样的:
Upper, sentence., Lower, sentence., And, some, text.
请注意,我需要保留所有字符(.,-?! 等)
【问题讨论】:
-
这个相对复杂的正则表达式的目的是什么,简单地拆分
\\.应该可以工作。 -
也许通常的
.split("\\W+")可以。除非您需要处理连字符和撇号等。 -
也许我没有在我的问题中明确指出,但我需要保留所有字符,即:逗号、句点等。使用 \\W+ 将它们全部删除,我需要像大写、句子这样的输出。 , 下, 句子。, 一些, 文字。
-
所以要按空格分割??
-
是的,换行符。我编辑了我的主要帖子。