Методы строк: поиск, замена, изменение регистра и др.
🔍 Поиск в строках: находим нужное быстро
Строки в Python — не просто текст. Это мощные объекты с кучей методов для анализа данных. Давайте разберём самые полезные!
Поиск подстроки: find() и index()
email = "user@example.com"
# find() возвращает индекс первого вхождения или -1
position = email.find("@") # 4
# index() работает аналогично, но вызывает ошибку при отсутствии
try:
position = email.index("#") # ValueError!
except ValueError:
print("Символ не найден")
🔥 Профи-совет: Используйте in для быстрой проверки наличия подстроки:
if "@" in email:
print("Это похоже на email!")
Количество вхождений: count()
text = "банан"
print(text.count("а")) # 2 — считаем буквы 'а'
🔧 Изменение строк: замена и регистр
Строки в Python неизменяемы, но методы возвращают новые изменённые версии!
Замена подстрок: replace()
phrase = "Я люблю Java!"
new_phrase = phrase.replace("Java", "Python")
print(new_phrase) # "Я люблю Python!"
Работа с регистром
name = "danila bezhin"
print(name.title()) # "Danila Bezhin"
print(name.upper()) # "DANILA BEZHIN"
print("HELLO".lower()) # "hello"
print("hello world".capitalize()) # "Hello world"
🔍 Интересно: Метод swapcase() меняет регистр на противоположный:
print("PyThOn".swapcase()) # "pYtHoN"
✂️ Обрезка строк: убираем лишнее
Часто нужно очистить строку от пробелов или спецсимволов:
dirty_string = " важные данные \n"
print(dirty_string.strip()) # "важные данные"
print(dirty_string.lstrip()) # "важные данные "
print(dirty_string.rstrip()) # " важные данные"
💡 Практическое применение: Очистка пользовательского ввода:
user_input = input("Введите имя: ").strip()
🔤 Разделение и соединение строк
Разделение: split()
data = "Python,Java,C++,JavaScript"
languages = data.split(",") # ['Python', 'Java', 'C++', 'JavaScript']
Соединение: join()
words = ["Python", "лучший", "язык"]
sentence = " ".join(words) # "Python лучший язык"
🌟 Лайфхак: Разбиение текста на строки:
text = "первая\nвторая\nтретья"
lines = text.splitlines() # ['первая', 'вторая', 'третья']
🧐 Проверка содержимого строки
Python предлагает удобные методы проверки:
print("123".isdigit()) # True
print("abc".isalpha()) # True
print("Python3".isalnum()) # True (только буквы и цифры)
print(" ".isspace()) # True
print("Hello".startswith("He")) # True
print("file.txt".endswith(".txt")) # True
🛠 Реальные примеры применения
Обработка логов:
log = "ERROR: File not found"
if log.startswith("ERROR"):
send_alert(log)
Генерация username:
email = "Danila.Bezhin@gmail.com"
username = email.split("@")[0].lower().replace(".", "_")
# "danila_bezhin"
🎯 Главное запомнить
- Все строковые методы возвращают новые строки (исходная не меняется)
- Комбинируйте методы для сложных преобразований
- Используйте
dir(str)для просмотра всех доступных методов
Для углублённого изучения загляните на YouTube-канал Данилы Бежина — там много примеров работы со строками в реальных проектах!