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