Java – 基于多个分隔符的拆分字符串
我基本上想要根据句子分割一个字符串,因此(为了我正在做的事情),每当有一个!
, .
, ?
, :
, ;
。
如何使用多个项目来分割数组?
谢谢!
String.split
需要一个正则表达式来拆分,所以你可以简单地:
mystring.split("[!.?:;]");
Guava的 Splitter
比String.split()
更容易预测 。
Iterable results = Splitter.on(CharMatcher.anyOf("!.?:;")) .trimResults() // only if you need it .omitEmptyStrings() // only if you need it .split(string);
然后你可以使用Iterables.toArray
或Lists.newArrayList
来包装你喜欢的输出结果。
String.split的参数是一个正则表达式,因此您可以创建一个匹配任何这些字符的模式。
s.split("[.!:;?]");
您可以将String.split(String regex)方法与参数"[!.?:;]"
。