Введение
В этой статье мы поговорим о том, как заменить подстроку внутри строки в Python, используя метод replace()
.
.Заменить () метод
В Python строки представлены как неизменяемые объекты str
. Класс str
включает в себя множество методов, которые позволяют вам манипулировать строками.
Метод .replace()
принимает следующий синтаксис:
str.replace(old, new[, maxreplace])
str
- Строка, с которой вы работаете.old
— подстрока, которую вы хотите заменить.new
- Подстрока, которая заменяет предыдущую подстроку.maxreplace
— необязательный аргумент. Количество совпадений предыдущей подстроки, которую вы хотите заменить. Игры считаются с начала строки.
Метод возвращает копию строки srt
с заменой некоторых или всех совпадений подстроки old
на new
. Если maxreplace
не указан, заменяются все вхождения.
В следующем примере мы заменяем подстроку far
в строке s
на miles
:
s = 'A long time ago in a galaxy far, far away.'
s.replace('far', 'miles')
Результатом является новая строка:
'A long time ago in a galaxy miles, miles away.'
Строковые литералы обычно заключаются в одинарные кавычки, хотя можно использовать и двойные кавычки.
Когда maxreplace
получает необязательный аргумент, он ограничивает количество заменяемых совпадений. В следующем примере мы заменяем только первое вхождение:
s = 'My ally is the Force, and a powerful ally it is.'
s.replace('ally', 'friend', 1)
Результирующая строка будет выглядеть так:
'My friend is the Force, and a powerful ally it is.'
Чтобы удалить подстроку, используйте вместо ''
пустую строку. Например, чтобы удалить space
из следующей строки, мы будем использовать:
s = 'That's no moon. It's a space station.'
s.replace('space ', '')
Новая строка будет выглядеть так:
`That's no moon. It's a station.'
Заменить подстроку в списке строк
Чтобы заменить подстроку в списке строк, используйте конструкцию понимания списка, как показано ниже:
s.replace('old', 'new') for s in list
Давайте посмотрим на следующий пример:
names = ['Anna Grace', 'Betty Grace', 'Emma Grace']
new_names = [s.replace('Grace', 'Lee') for s in names]
print(new_names)
Приведенный выше код создает копию списка, в которой все вхождения подстроки Grace
заменены на Lee
:
['Anna Lee', 'Betty Lee', 'Emma Lee']
Вывод
Замена подстроки в строке — одна из самых основных операций при написании кода на Python. После прочтения этого руководства вы должны хорошо понимать, как использовать метод replace()
.