Способы поиска и обработки текста
1. Встроенные методы строк (str)
str.find(substring)
— возвращает индекс первого вхождения подстроки или -1, если не найдено.str.index(substring)
— то же, но вызывает ошибку, если подстрока не найдена.str.count(substring)
— считает количество вхождений подстроки.str.startswith(prefix)
иstr.endswith(suffix)
— проверяют начало и конец строки.str.replace(old, new)
— замена подстроки.str.split(sep)
— разбивает строку по разделителю.str.strip()
— удаляет пробелы и спецсимволы по краям.
Пример:
text = "Hello, world! Hello!"
print(text.find("world")) # 7
print(text.count("Hello")) # 2
print(text.startswith("Hell")) # True
2. Регулярные выражения (модуль re
)
re
)Самый мощный и гибкий способ поиска и обработки сложных шаблонов текста.
Основные функции:
re.search(pattern, string)
— ищет первое совпадение.re.findall(pattern, string)
— возвращает список всех совпадений.re.match(pattern, string)
— проверяет совпадение только в начале строки.re.sub(pattern, repl, string)
— замена по шаблону.
Пример:
import re
text = "User: alice, ID: 1234"
# Найти ID
match = re.search(r'ID:\s*(\d+)', text)
if match:
print(match.group(1)) # 1234
# Найти все слова, начинающиеся с буквы 'a'
print(re.findall(r'\ba\w*', text)) # ['alice']
3. Методы обработки текста с помощью библиотеки string
string
string
содержит полезные константы и функции, напримерstring.ascii_letters
,string.punctuation
для фильтрации и проверки символов.
4. Использование in
для проверки вхождения подстроки
in
для проверки вхождения подстрокиif "error" in log_line.lower():
print("Обнаружена ошибка")
5. Пример сложной обработки
Парсинг лога с помощью регулярных выражений, фильтрация строк, подсчёт ошибок и замена:
import re
log = """
ERROR: file not found
WARNING: low disk space
ERROR: access denied
"""
errors = re.findall(r'ERROR: (.+)', log)
print(errors) # ['file not found', 'access denied']
cleaned_log = re.sub(r'WARNING: .+', '', log)
print(cleaned_log)
Где применяется на практике?
Проверка содержимого ответов API в тестах.
Валидация логов и поиск ошибок.
Обработка и фильтрация текстовых данных в тестовых данных и отчетах.
Last updated
Was this helpful?