【发布时间】:2012-02-27 07:49:50
【问题描述】:
我基本上想根据句子拆分一个字符串,因此(为了我正在做的事情),只要有!、.、?、:、@ 987654325@.
如何使用多个项目来拆分数组?
谢谢!
【问题讨论】:
我基本上想根据句子拆分一个字符串,因此(为了我正在做的事情),只要有!、.、?、:、@ 987654325@.
如何使用多个项目来拆分数组?
谢谢!
【问题讨论】:
String.split 采用正则表达式进行拆分,因此您可以简单地:
mystring.split("[!.?:;]");
【讨论】:
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 来包装你喜欢的输出结果。
【讨论】:
String.split 的参数是一个正则表达式,因此您可以创建一个匹配任何这些字符的模式。
s.split("[.!:;?]");
【讨论】:
您可以使用带有参数"[!.?:;]" 的String.split(String regex) 方法。
【讨论】: