我基本上想要根据句子分割一个字符串,因此(为了我正在做的事情),只要有!
,.
,?
,:
,;
。
如何使用多个项目来分割数组?
谢谢!
答案 0 :(得分:29)
String.split
需要正则表达式才能拆分,所以你可以简单地说:
mystring.split("[!.?:;]");
答案 1 :(得分:7)
Guava's Splitter
比String.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.toArray
或Lists.newArrayList
按照您喜欢的方式包装输出结果。
答案 2 :(得分:6)
String.split的参数是一个正则表达式,因此您可以创建一个匹配任何这些字符的模式。
s.split("[.!:;?]");
答案 3 :(得分:4)
您可以将String.split(String regex)方法与参数"[!.?:;]"
一起使用。