Как заменить символ в строке
Перейти к содержимому

Как заменить символ в строке

Метод str.replace() в Python, меняет подстроку/символ в строке.

Производит поиск и замену подстроки (символа) в строке.

Синтаксис:
Параметры:
  • old — str , подстрока или символ который меняем
  • new — str , подстрока или символ на который меняем
  • count — int , сколько раз меняем
Возвращаемое значение:
  • измененная копия строки.
Описание:

Метод str.replace() вернет копию строки, в которой все вхождения подстроки old заменены на подстроку new .

Если указан необязательный аргумент count , заменяются только первые вхождения count .

Примечание. Производить поиск и замену подстроки/символа в строке можно так же при помощи регулярных выражений, используя функцию re.sub() .

Общие примеры замены подстроки/символа в строке.

Замены нескольких значений в строке одной операцией.

Для замены нескольких разных символов/подстрок в одной операции (множественная замена) необходимо определить функцию, которая будет принимать исходную строку и список символов/подстрок, каждая со своим новым значением. Символы/подстроки с новыми значениями можно передавать разными способами, например как список двойных кортежей в виде [('old', 'new'), . ] или как словарь, где ключ будет старым значением, а значение — новым <'old': 'new', . >. В зависимости от того, в каком виде передаются значения, будет строится логика извлечения этих значений для осуществления замены в исходной строке.

В примере будем передавать символы/подстроки с их новыми значениями в виде кортежа, так как он дает больше гибкости. Гибкость будет состоять в том, что в примере будет возможность добавления количества замены каждого символа/подстроки в строке.

Из примера видим, что новая функция replace() работает как и ожидается, а именно символ 'а' заменился 3 раза, символ 'б' и подстрока 'кад' заменились по количеству совпадений.

Replace string в Java

Replace string в Java - 1

В работе программиста довольно часто некоторые задачи или их составляющие могут повторяться. Поэтому сегодня хотелось бы затронуть тему, которая часто встречается в повседневной работе любого Java-разработчика. Предположим, что вам из некоторого метода приходит некоторая строка. И всё в ней вроде бы хорошо, но есть какая-то мелочь, которая вас не устраивает. Например, не подходит разделитель, и вам нужен какой-то другой (или вовсе не нужен). Что можно сделать в такой ситуации? Естественно, воспользоваться методами replace класса String .

Метод replace() в Java

Метод replace() заменяет указанный символ (или подстроку) в строке на новый.

Синтаксис метода:

Вызов:

Пример 1:

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

У нас есть переменная oldString, которая хранит строку «ABC». Представим, что нам надо заменить ‘A’ на ‘B’. Для этого мы используем метод replace(). Первым параметром мы указываем, что заменить (символ ‘A’), а вторым — чем заменить (символ ‘B’). Итого, получаем в консоли новую строку — «BBC».

  • Обратите внимание — первая строка (oldString) не изменилась после применения метода. То-есть метод replace() возвращает новую строку.

Пример 2:

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

Как и в прошлом примере, мы заменили один символ на другой (в данном случае ‘a’ на ‘i’).

  • Обратите внимание — метод replace() заменяет все символы в строке на новый, а не только его первое вхождение.

Пример 3:

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

Теперь мы заменяем не символы, а строки — а именно, мы ищем в строке «Java» подстроку «av» и заменяем на «oshu». Подстрока «av» встречается в строке «Java» один раз («J av a»). В результате выполнения метода, получаем новую строку «Joshua».

  • Обратите внимание — подстроки не должны иметь одинаковую длину (длина строки «oshua» больше длины строки «av», но метод все равно работает корректно).

Данная статья написана Vertex Academy. Можно пройти наши курсы Java с нуля. Детальнее на сайте.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *