Java将字符串拆分为单词逗号和句号

时间:2012-11-28 22:59:16

标签: java regex split

我一直在使用myString.split("\\s+");来获取每个单词。但现在我想分开逗号和句号。例如:

  

妈妈总是说生活就像一盒巧克力,你永远不会知道你会得到什么。

为:

{Mama, always, said, life, was, like, a, box, of, chocolates ,,, You, never, know, what, you're, gonna, get,.,}

如何做到这一点?

2 个答案:

答案 0 :(得分:11)

如果逗号和句点后面总是后跟空格或字符串结尾,那么你可以写:

myString.split("(?=[,.])|\\s+");

如果他们不是,你想要,例如a,b分为三个字符串,然后:

myString.split("(?<=[,.])|(?=[,.])|\\s+");

答案 1 :(得分:2)

您可以使用lookahead在点和逗号前分割:

myString.split("\\s+|(?=[,.])");

前瞻不包含在实际匹配中,因此实际字符(逗号或句点)将在结果数组中结束。