2017-06-09 93 views
0

我正在使用字符串并且有一个快速问题。我有一串文本是从文件中提取的,现在想用文本中的每个句子创建一个字符串数组,我知道我可以使用string.split(".");进行句点,但是如何添加问号和感叹号。我试过string.split("." + "!" + "?");,但那似乎不起作用。任何帮助,将不胜感激!在多个拆分参数中分割java中的字符串

+0

'string.split( “[。!?]”)' – saka1029

回答

3

string.split(".")如您所愿它不工作...

String s = "Hello.world"; 
System.out.println(Arrays.toString(s.split("."))); // outputs [] 

拆分方法采用正则表达式

String s = "Hello.world"; 
System.out.println(Arrays.toString(s.split("\\."))); // outputs [Hello, world] 

".!?"正则表达式说:“任何字符,后跟零个或多个!”(这实际上是相同的结果,只是"."

如果你想拆就单个字符,请使用字符类

string.split("[.!?]")

+2

而且,由于它是一个句子,如果你想保留分割字符'(?<= [!])' –