Java - разделение строки на основе нескольких разделителей

java arrays string split

27174 просмотра

4 ответа

Я по существу хочу , чтобы разделить строку , основываясь на предложениях, поэтому (ради того , что я делаю), когда есть !, ., ?, :, ;.

Как бы я достиг этого с несколькими элементами, чтобы разделить массив?

Спасибо!

Автор: mino Источник Размещён: 12.11.2019 09:06

Ответы (4)


29 плюса

Решение

String.split принимает регулярное выражение, чтобы разделить, так что вы можете просто:

mystring.split("[!.?:;]");
Автор: Mat Размещён: 05.02.2012 02:17

7 плюса

Гуава 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чтобы обернуть выходные результаты, как вам нравится.

Автор: Louis Wasserman Размещён: 05.02.2012 06:29

6 плюса

Аргументом String.split является регулярное выражение, поэтому вы можете создать шаблон, соответствующий любому из этих символов.

s.split("[.!:;?]");
Автор: Jan Размещён: 05.02.2012 02:23

4 плюса

Вы можете использовать метод String.split (String regex) с параметром "[!.?:;]".

Автор: Smi Размещён: 05.02.2012 02:18
Вопросы из категории :
32x32