将单词+空格作为分隔符

时间:2017-10-07 17:55:25

标签: java regex string

我正在尝试拆分字符串" HI. HOW ARE YOU? I AM FINE!"使用具有以下语法的分割函数进入字符串数组

String[] i = "HI. HOW ARE YOU? I AM FINE! ".split("[\\. |? |! ]+");

预期输出

  

HI

     

你是如何

     

我很精致

但在intellij中,它说"重复的字符文字"并且它将空间视为单独的分隔符。

如何在不将空间视为单独的分隔符的情况下确保它采用句号加空格,问号加空格和感叹号加空格? 哪个是正确的正则表达式呢? 如果可以在没有正则表达式的情况下完成,即使这样也没关系。

感谢。

1 个答案:

答案 0 :(得分:-1)

更好的模式是

"[?!.]\\s*"

至于你得到的错误,那是因为|运算符在字符类中不起作用。如果您希望图案有效,请将方括号[...]更改为括号(...)