2012-02-05 57 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包裹的輸出結果,你怎麼樣。