Разбиение строки на слова java

Содержание

Описание проблемы

Как разбить строку на слова и символы?

Решение 1: разделить строку по разделителю

Следующий пример показывает как разделить строку в Java по разделителю с помощью метода split() и вывести подстроку.

Результат

Получим следующий результат:

Решение 2: разбить строку на слова

Ниже продемонстрирован пример, который позволяет в Java разбить строку на слова.

Результат

Получим следующий результат:

Решение 3: разбить строку на символы в массив

Следующий пример показывает как разбить строку на массив по символу. Для этого просто преобразуем строку в массив с помощью метода toCharArray().

В процессе программирования может возникнуть необходимость разбить строку с помощью определенного символа. Метод StrSplit() разбивает строку на массив подстрок с помощью определенного разделителя.

Синтаксис:

Параметры:

  • Regex: регулярное выражение, которое применяется к тексту.
  • Limit: максимальная длина возвращаемого массива. Если этот параметр не задан или равен нулю, то метод вернет все строки, соответствующие регулярному выражению.

Пример разбития строки

Предположим, что у нас есть переменная strMain. Ее значение состоит из нескольких слов, разделенных запятой: «Alpha, Beta, Gamma, Delta, Sigma».

Выведем каждое слово на отдельной строке и разделим их запятыми. В итоге мы получим пять отдельных строк:

Чтобы реализовать это, используем метод split (). В качестве аргумента передаем разделить. В нашем случае разделителем является запятая. Код примера:

Пример: метод Java String split() с regex и length

Предположим, что необходимо разделить только часть строки, а оставшийся кусок оставить без изменений. Например:

Читайте также  Самсунг синк мастер 940n

Этого можно добиться путем передачи методу второго аргумента. Взгляните на следующий код:

Delta, Gamma, Sigma

Как разделить строку пробелом

Рассмотрим ситуацию, когда необходимо разделить строку пробелом. Взгляните на пример, приведенный ниже. У нас есть строковая переменная strMain, состоящая из нескольких слов: «Welcome to Guru99».

Данная публикация представляет собой перевод статьи « How to Split a String in Java: Learn with Example » , подготовленной дружной командой проекта Интернет-технологии.ру

Всем Привет! У меня есть такая задача, надо разделить строку на слова, записать ее в массив и затем сравнить каждый элемент с каждым в массиве (т.е. каждое слово с каждым) те которые совпали удалить, недавно прочитал о equals() , который отлично справляется с сравнением строк, но по какой-то причине Он не работает в массиве. Java начал изучать недавно, поэтому строго не судите по коду, всем Спасибо!

2 ответа 2

Ваш вариант не учитывает множество пробелов. Тут надо регулярным выражением пользоваться. Извлечь все слова потом поместить в SortedSet . Почему в SortedSet ? Во-первых, он не допускает дублирование, а во-вторых отсортирует все слова по возрастанию, что облегчает проверку.

"w+" — модификатор находит только слова, то есть исключает знаки и т.п.

Pattern.UNICODE_CHARACTER_CLASS — установливает флаг на Юникоде чтобы можно было сделать поиск в любой кодировке. (Если честно не знаю как обстоят дело с поиском слов на азиатских языках как китайский, корейский, японский и т.д.)

Вот что печатает этот класс после запуска:

word = двора
word = дворе
word = дрова
word = на
word = не
word = руби
word = трава
word = траве

Ссылка на основную публикацию
Adblock
detector