-5

如何根据 ?, ! 分割文本 int 句子数组 和 。在 Java 中?

例如,我想将字符串中的句子存储到一个超大的数组中。myArray[0] = 第 1 句,myArray[1] = 第 2 句等等/

4

2 回答 2

2

您可以使用String.split(regex)方法,如下所示:

String[] sentendes = text.split("(?<=[.!?])\\s*");

使用lookbehind应该可以帮助您保留句后的标点符号。

这是一个关于 ideone的小演示。

于 2013-04-19T01:05:19.463 回答
1

试试这个正则表达式:

String[] myArray = "sentence! sentence. sentence?".split("(<=[\\!\\?\\.])\\s*")

解释:

(<=       lookbehind, to preserve punctuation as in @dasblinkenlight's answer
[         start category (which would be !, ?, or .)
\\!\\?\\. punctuation (must be escaped)
]         end category
)         end lookbehind
\\s*      any amount of whitespace
于 2013-04-19T01:04:43.047 回答