2012-02-05 54 views
10

我基本上是想根据句子分裂出一个字符串,因此(关于我在做什么缘故),每当有!.?:;分割字符串。爪哇 - 基于多定界符

我该如何实现这与多个项目拆分数组?

谢谢!

回答

30

String.split需要一个正则表达式来分割,所以你可以简单地说:

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

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

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

Guava'sSplitter有点more predictableString.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包裹的输出结果,你怎么样。