Содержание
- 1 Содержание
- 2 Описание проблемы
- 3 Решение 1: разделить строку по разделителю
- 4 Решение 2: разбить строку на слова
- 5 Решение 3: разбить строку на символы в массив
- 6 Синтаксис:
- 7 Параметры:
- 8 Пример разбития строки
- 9 Пример: метод Java String split() с regex и length
- 10 Как разделить строку пробелом
- 11 2 ответа 2
Содержание
Описание проблемы
Как разбить строку на слова и символы?
Решение 1: разделить строку по разделителю
Следующий пример показывает как разделить строку в Java по разделителю с помощью метода split() и вывести подстроку.
Результат
Получим следующий результат:
Решение 2: разбить строку на слова
Ниже продемонстрирован пример, который позволяет в Java разбить строку на слова.
Результат
Получим следующий результат:
Решение 3: разбить строку на символы в массив
Следующий пример показывает как разбить строку на массив по символу. Для этого просто преобразуем строку в массив с помощью метода toCharArray().
В процессе программирования может возникнуть необходимость разбить строку с помощью определенного символа. Метод StrSplit() разбивает строку на массив подстрок с помощью определенного разделителя.
Синтаксис:
Параметры:
- Regex: регулярное выражение, которое применяется к тексту.
- Limit: максимальная длина возвращаемого массива. Если этот параметр не задан или равен нулю, то метод вернет все строки, соответствующие регулярному выражению.
Пример разбития строки
Предположим, что у нас есть переменная strMain. Ее значение состоит из нескольких слов, разделенных запятой: «Alpha, Beta, Gamma, Delta, Sigma».
Выведем каждое слово на отдельной строке и разделим их запятыми. В итоге мы получим пять отдельных строк:
Чтобы реализовать это, используем метод split (). В качестве аргумента передаем разделить. В нашем случае разделителем является запятая. Код примера:
Пример: метод Java String split() с regex и length
Предположим, что необходимо разделить только часть строки, а оставшийся кусок оставить без изменений. Например:
Этого можно добиться путем передачи методу второго аргумента. Взгляните на следующий код:
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 = траве