Метод replace и trim в Java
Оба метода просты в использовании и крайне полезны в программах Java. Все о методах replace (заменить) и trim (обрезать) в Java с примерами дальше в этом уроке.
Метод replace в Java
Метод replace в Java используется для замены всех вхождений символа/символов в определенной строке.
Возьмем к примеру эту частую ошибку в русском языке:
«Поздравляю с днем рождением!»
Мы хотим заменить «рождением» на «рождения». Вот код:
Есть несколько способов использовать метод replace в Java, и они отличаются тем, что вы впишите в круглые скобки replace(). Мы заменяем одну последовательность символов другой. Представьте запятую, разделяющую два слова(символа), как слово «на». Мы бы тогда «Заменили рождением на рождения«.
Вы также можете заменить один символ:
Приведенный выше код гласит «Заменить £ на @».
(Вы также можете использовать нечто, называемое регулярным выражением, в своих методах replace, но это выходит за рамки этого урока.)
Обрезать (trim) пробелы в Java
Вы можете обрезать пробелы из нужных вам строк. Пробел — это может быть и просто пробелы в тексте, и табуляция, и переход на новую строку. Я веду к тому, что это символы, которые мы не всегда замечаем, и часто они делают текст грязным за счет лишних пробелов. Метод trim может помочь в этом, и он прост в использовании:
Таким образом, метод trim идет после строки, которую вы хотите изменить. Пустые символы перед и после слова «пробел» в приведенном выше коде будут удалены.
Если вы получаете ввод от пользователя, то всегда полезно использовать trim для введенных строк в input.
Что касается replace и trim в Java, надеюсь, все понятно. Далее все более интереснее — отформатированные строки текста.
Удалить пробел из строки в Java
В этом посте будет обсуждаться, как удалить пробелы из строки в Java.
Символ называется пробельным символом в Java тогда и только тогда, когда Character.isWhitespace(char) метод возвращает истину. Наиболее часто используемые пробельные символы: \n, \t, \r и пространство. Шаблон регулярного выражения для пробельных символов: \s . Используя этот шаблон в регулярном выражении, мы можем либо заменить последовательные пробелы одним пробелом, либо удалить все пробелы из входной строки.
1. Замена последовательных пробелов одним пробелом
Идея состоит в том, чтобы использовать шаблон \s+ вместо \s для обработки двух или более последовательных пробелов во входной строке, как показано ниже:
Пример использования метода trim в Java: как удалить пробелы в начале и конце строки?
Эта статья является быстрой шпаргалкой по успользованию метода trim в Java для удаления пробелов в строках. Краткое описание работы метода + примеры кода.
Описание метода trim
Видео версия урока:
Метод trim() используется для удаления лишних пробелов в строке. Напомню, строки в Java неизменны, поэтому исходная строка не будет изменена — будет создана новая строка без пробелов в начале и конце.
У нас есть строка, в которой в начале 5 пробелом и 1 пробел в конце строки. Запустим программу и посмотрим в консоль:
Новая строка без каких-либо пробелов.
Что «под капотом» в методе trim?
Реализация метода в Java достаточно простая. Смотрим исходники:
Суть метода в двух циклах while: в первом подсчитывается количество пробелов в начале строки — в переменную st . Во втором цикле while нахождение пробела уменьшает значение переменной len (используется для подсчета длины строки) на 1. Метод trim возвращает подстроку — результат выполнения метода substring c параметрами st — откуда начать вырезать, len — где закончить. В противном случае (если пробелы не были найдены ни в начале строки, ни в конце) метод вернет ту же строку.
- Альтернативы методу trim()
Более гибким аналогом метода является использование регулярного выражения для замены пробелов в комбинации с replaceAll() :