需求:现有字符串,需要将其按照空格、逗号和句号等分隔开,但是括号内的内容并须保持完整跟在它所跟的字符串后面,里面的内容不被正则表达式分割
例子:有字符串"sdfsdf sdlfksd sdf,fsdf&sdf(s:1,g:1) sdfsd sdf! ?",要将它们分割成独立的“单词”,即它们不被空格和标点拼接起来
正则表达式:[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))
代码:
String string1 = "sdfsdf sdlfksd sdf,fsdf&sdf (s:1) (,g:1) sdfsd sdf! ? . sdfl asdf ";
String[] str = string1.split("[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))");
for(String s:str){
System.out.println(s);
}
输出结果:
sdfsdf
sdlfksd
sdf
fsdf&sdf(s:1)
(,g:1)
sdfsd
sdf
sdfl
asdf