В этой статье мы поговорим о том, как заменить подстроку внутри строки в Python, используя метод replace().
В Python строки представлены как неизменяемые объекты str. Класс str поставляется с большим количеством методов , которые позволяют манипулировать строки.
Метод .replace() принимает следующий синтаксис:
str.replace(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().
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.