2017-10-07 38 views
0

我试图用split函数的语法如下有一个词+空格作为分隔符

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

预计输出到分割字符串“HI. HOW ARE YOU? I AM FINE!”到字符串数组

HI

你是怎么回事

I AM FINE

但在intellij中,它的意思是“重复字符字面”,它将空间视为一个单独的分隔符。

我该如何确保它将句号加上空格,问号加上空格和感叹号加上空格而没有将空格视为单独的分隔符? 这将是正确的正则表达式? 如果没有正则表达式就可以完成,即使这样也行。

谢谢。

+1

预期产量是多少? – azro

+1

尝试['String pat =“[。?!] + \\ s *”;'](https://regex101.com/r/8TI6Ax/1) –

+0

如果您有''HI ...怎么办?你???我很好!!!“? –

回答

-1

一个更好的模式将是

"[?!.]\\s*" 

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

相关问题