Python — Замена строки

В этой статье мы поговорим о том, как заменить подстроку внутри строки в Python, используя метод replace().

 

В Python строки представлены как неизменяемые объекты str. Класс str поставляется с большим количеством методов , которые позволяют манипулировать строки.

Метод .replace() принимает следующий синтаксис:

str.replace(old, new[, maxreplace])


 

  • str — Строка, с которой вы работаете.
  • old — Подстрока, которую вы хотите заменить.
  • new — Подстрока, которая заменяет старую подстроку.
  • maxreplace- Необязательный аргумент. Количество совпадений старой подстроки, которую вы хотите заменить. Матчи отсчитываются с начала строки.

Метод возвращает копию строки srt c заменой некоторых или всех совпадений подстроки old на new. Если maxreplace не указан, заменяются все совпадения.

В приведенном ниже примере мы заменяем подстроку «галактике» в строке s на «стране»:

s = 'Давным - давно в далекой-далекой галактике.'

s.replace('галактике', 'стране')


 

В результате получается новая строка:

'Давным - давно в далекой-далекой стране.'


 

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

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

s = 'Мой союзник - это сила, и это могущественный союзник.'

s.replace('союзник', 'друг', 1)


 

Строка результата будет выглядеть так:

Мой друг - это сила, и это могущественный союзник.'


 

Чтобы удалить подстроку, используйте пустую строку » в качестве замены. Например, чтобы удалить «космическая» из следующей строки, вы будете использовать:

s = 'Это не Луна. Это космическая станция.'

s.replace('космическая ', '')


 

Новая строка будет выглядеть следующим образом:

`Это не Луна. Это станция.'


 

Чтобы заменить подстроку в списке строк, используйте конструкцию понимания списка, как показано ниже:

s.replace('old', 'new') for s in list


Давайте посмотрим на следующий пример:

names = ['Alex AndreyEx', 'Maxx AndreyEx', 'Denis AndreyEx']

new_names = [s.replace('AndreyEx', 'Destroyer') for s in names]

print(new_names)


 

Приведенный выше код создает копию списка со всеми вхождениями подстроки, AndreyEx заменен на Destroyer:

['Alex Destroyer', 'Maxx Destroyer', 'Denis Destroyer']


 

Замена подстроки в строке является одной из самых основных операций при написании кода на Python. Прочитав эту статью, вы должны хорошо понимать, как использовать метод replace().

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2019-12-15T08:12:56
Python