Ответ 1
String.split
использует регулярное выражение для разделения, поэтому вы можете просто:
mystring.split("[!.?:;]");
Я по сути хочу разбить строку на основе предложений, поэтому (ради того, что я делаю), всякий раз, когда есть !
, .
, ?
, :
, ;
.
Как мне достичь этого с помощью нескольких элементов для разбиения массива на?
Спасибо!
String.split
использует регулярное выражение для разделения, поэтому вы можете просто:
mystring.split("[!.?:;]");
Guava Splitter
немного более предсказуем , чем String.split()
.
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) с параметром "[!.?:;]"
.