
В этой статье мы поговорим о том, как заменить подстроку внутри строки в Python, используя метод replace() .
.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() .
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства