Методы строк: поиск, замена, изменение регистра и др.

🔍 Поиск в строках: находим нужное быстро

Строки в 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"

🎯 Главное запомнить

  1. Все строковые методы возвращают новые строки (исходная не меняется)
  2. Комбинируйте методы для сложных преобразований
  3. Используйте dir(str) для просмотра всех доступных методов

Для углублённого изучения загляните на YouTube-канал Данилы Бежина — там много примеров работы со строками в реальных проектах!

Скрыть рекламу навсегда

🧠 Учёба без воды и зубрёжки

Закрытый Boosty с наработками опытного преподавателя.

Объясняю сложное так, чтобы щелкнуло.

🚀 Забрать доступ к Boosty