Я хочу найти все разделители между словами в предложении, которые могут быть пробелами, символами новой строки.Split String, чтобы получить разделители слов
Скажем, у меня есть следующие строки:
String text = "hello, darkness my old friend.\nI've come to you again\r\nasd\n 123123";
String[] separators = text.split("\\S+");
Выход: [, , , , , , , , , , , ]
Так что я разделить на что угодно, но в пространстве она возвращается пустой разделитель в первой, а остальные хорошие. Почему пустая строка сначала?
Кроме того, я хотел бы разделить на периоды и запятые. Но я не знаю, как это сделать, что ".\n"
является разделителем.
Wanted Вывод для приведенных выше строк:
separators = {", ", " ", " ", " ", ".\n", " ", " ", " ", " ", "\r\n", "\n "}
или
separators = {",", " ", " ", " ", " ", ".", "\n", " ", " ", " ", " ", "\r\n", "\n "}
Для точки и новой строки вам нужно будет избежать их, например. '\\.' и '\\ n' –
Вы можете попробовать использовать [StringTokenizer] (https://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html). –
Возможный дубликат [Java String.split() иногда дает пустые строки] (http://stackoverflow.com/questions/18870699/java-string-split-sometimes-giving-blank-strings). Просто для вашего первого вопроса, но там вы идете, идеальная причина, чтобы только * спрашивать * по одному за раз. – usr2564301