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

时间:2012-02-05 14:14:27

标签: java arrays string split

我基本上想要根据句子分割一个字符串,因此(为了我正在做的事情),只要有!.?:;

如何使用多个项目来分割数组?

谢谢!

4 个答案:

答案 0 :(得分:29)

String.split需要正则表达式才能拆分,所以你可以简单地说:

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

答案 1 :(得分:7)

Guava's SplitterString.split()稍微more predictable

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

然后您可以使用Iterables.toArrayLists.newArrayList按照您喜欢的方式包装输出结果。

答案 2 :(得分:6)

String.split的参数是一个正则表达式,因此您可以创建一个匹配任何这些字符的模式。

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

答案 3 :(得分:4)

您可以将String.split(String regex)方法与参数"[!.?:;]"一起使用。