Python:
Поиск и замена текста
Как это сделать:
# Использование str.replace() для простой замены
text = "Мне нравится Python. Python - это здорово!"
text = text.replace("Python", "программирование")
print(text) # Вывод: Мне нравится программирование. Программирование - это здорово!
# Использование re.sub() для замены по шаблону с регулярными выражениями
import re
text = "Связаться с нами можно по адресу [email protected]"
new_text = re.sub(r'\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b', '[email protected]', text)
print(new_text) # Вывод: Связаться с нами можно по адресу [email protected]
Погружение в детали
В ранние дни программирования редактирование текста было ручной работой. Введите регулярные выражения (regex), созданные в 1950-х годах, которые сделали поиск менее мучительным. Для простых замен используйте str.replace()
. Это просто и отлично подходит для единичных замен. Когда у вас есть шаблоны, такие как номера телефонов, электронные адреса или даты, re.sub()
с regex становится волшебной палочкой. Он находит шаблоны с помощью специального синтаксиса и заменяет их. Имейте в виду, что regex может быть таким же капризным, как и могущественным; это инструмент, в котором вы становитесь лучше с каждой решенной задачей.
См. также
- Документация по
str.replace()
в Python - Документация по модулю
re
в Python - Regex101: Для онлайн-тестирования шаблонов regex
- Automate the Boring Stuff with Python: Книга, где вы можете узнать больше о практических задачах обработки текста.