Java - 基于多个分隔符拆分字符串

10

我希望根据句子将字符串拆分,因此(为了我的目的),每当出现!.?:;时都会进行拆分。

如果有多个项目需要用来拆分数组,应该如何实现呢?

谢谢!

4个回答

29

String.split 接受一个正则表达式用于分割字符串,所以你可以简单地:

mystring.split("[!.?:;]");

8

Guava的 SplitterString.split() 更加可预测

Iterable<String> results = Splitter.on(CharMatcher.anyOf("!.?:;"))
   .trimResults() // only if you need it
   .omitEmptyStrings() // only if you need it
   .split(string);

然后你可以使用Iterables.toArrayLists.newArrayList来包装输出结果,以便按照你喜欢的方式进行处理。


6
String.split的参数是一个正则表达式,因此您可以创建一个匹配其中任何字符的模式。
s.split("[.!:;?]");

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接