Методы работы со строками в Python: split, join, replace, strip и другие

онлайн тренажер по питону
Онлайн-тренажер Python 3 для начинающих

Теория без воды. Задачи с автоматической проверкой. Подсказки на русском языке. Работает в любом современном браузере.

начать бесплатно

Введение в строковые данные в Python

Что такое строки

Строки в Python — это упорядоченные последовательности символов, заключённые в одинарные ('строка') или двойные ("строка") кавычки. Также можно использовать тройные кавычки ('''многострочная''' или """текст""") для многострочного текста.

Особенности строк в Python

  • Строки являются объектами класса str

  • Они поддерживают множество встроенных методов

  • Можно применять индексацию, срезы, объединение и другие операции

Иммутабельность строк

Строки в Python неизменяемы — при любом изменении создаётся новая строка. Это важно учитывать при работе с большими текстами или циклах.


Основные операции со строками

Конкатенация строк

python
a = "Hello" b = "World" result = a + " " + b # "Hello World"

Повторение строк

python
s = "Python" print(s * 3) # PythonPythonPython

Индексация и срезы

python
text = "Python" print(text[0]) # P print(text[-1]) # n print(text[1:4]) # yth

Метод split()

Описание и синтаксис

Метод split() разбивает строку на список подстрок по разделителю.

python
text = "apple,banana,orange" print(text.split(",")) # ['apple', 'banana', 'orange']

Разделение по пробелам

Если не указывать аргумент, строка разбивается по пробелам:

python
"Hello world".split() # ['Hello', 'world']

Разделение по символу

python
"one-two-three".split("-") # ['one', 'two', 'three']

maxsplit

python
"1,2,3,4".split(",", 2) # ['1', '2', '3,4']

Метод join()

Объединение списка строк

python
words = ['Python', 'is', 'awesome'] result = " ".join(words) print(result) # Python is awesome

Примеры с разделителями

python
print("-".join(["2025", "03", "27"])) # 2025-03-27

Использование с map()

python
numbers = [1, 2, 3] result = " ".join(map(str, numbers)) # "1 2 3"

Метод replace()

Замена подстроки

python
text = "Hello world" new_text = text.replace("world", "Python") # Hello Python

Ограничение количества замен

python
"aaabbb".replace("a", "x", 2) # xxabbb

Частые ошибки

Нельзя изменить строку напрямую. Всегда присваивайте результат замены новой переменной.


Метод strip() и его варианты

strip(), lstrip(), rstrip()

Удаляют пробелы или указанные символы:

python
" hello ".strip() # 'hello' "---text---".strip("-") # 'text'
  • lstrip() удаляет слева

  • rstrip() — справа

Удаление пробелов и символов

Можно указать конкретные символы:

python
text = "###Python###" print(text.strip("#")) # Python

Метод find() и rfind()

Поиск подстроки

python
"hello world".find("world") # 6

Поведение при отсутствии значения

python
"hello".find("x") # -1

Различие между find и index

index() вызывает ошибку, если элемент не найден:

python
"abc".index("x") # ValueError

Метод index() и rindex()

Использование

python
"python".index("t") # 2

Отличие от find()

find() безопаснее, если не уверены в наличии символа. index() — строгое поведение.


Метод lower(), upper(), title(), capitalize()

Преобразование регистра

python
"Python".lower() # python "python".upper() # PYTHON "hello world".title() # Hello World "hello".capitalize() # Hello

Метод startswith() и endswith()

Проверка начала и конца строки

python
"text.py".endswith(".py") # True "url".startswith("http") # False

Метод isdigit(), isalpha(), isalnum() и другие проверки

Проверка типа символов

python
"123".isdigit() # True "abc".isalpha() # True "abc123".isalnum() # True

Метод zfill(), rjust(), ljust(), center()

Выравнивание и заполнение

python
"42".zfill(5) # 00042 "hi".rjust(5, "*") # ***hi "hi".ljust(5, "-") # hi--- "hi".center(5, "_") # _hi__

Метод format() и f-строки

Шаблонная подстановка значений

python
"Hello, {}".format("Alice") # Hello, Alice

Современный подход с f-строками

python
name = "Alice" f"Hello, {name}" # Hello, Alice

Работа с многострочными строками

Тройные кавычки

Многострочные строки создаются с помощью тройных кавычек:

python
text = """Это многострочная строка"""

Экранирование переносов строк

Для управления форматированием можно использовать \n, \t и другие спецсимволы:

python
line = "Первая строка\nВторая строка"

Методы обработки

  • splitlines() — разбивает по строкам

  • replace("\n", " ") — заменяет переносы на пробелы


Обработка пользовательского ввода

Функция input()

python
name = input("Введите ваше имя: ") print("Привет,", name)

Очистка и проверка данных

python
user_input = input("Введите число: ").strip() if user_input.isdigit(): number = int(user_input)

Часто используемые комбинации методов

strip + split

Удаление лишних пробелов перед разбиением строки:

python
text = " apples, oranges, bananas " items = text.strip().split(", ")

split + map + join

Обработка чисел из строки:

python
numbers = "1 2 3 4" result = ", ".join(map(str, map(int, numbers.split())))

Практические мини-примеры

Удаление пустых строк:

python
lines = """строка1 строка2 """ cleaned = "\n".join([line for line in lines.splitlines() if line.strip()])

Часто задаваемые вопросы (FAQ)

Как удалить все пробелы из строки?

python
text.replace(" ", "")

Если нужно удалить все виды пробелов (включая табуляцию):

python
"".join(text.split())

Как разделить строку по нескольким символам?

Используйте модуль re:

python
import re re.split("[,; ]+", "яблоко;банан,груша апельсин")

Можно ли изменить строку напрямую?

Нет. Строки в Python неизменяемы. Все методы возвращают новую строку.

Как безопасно заменить подстроку?

Используйте replace(), но проверьте наличие подстроки:

python
if "старое" in text: text = text.replace("старое", "новое")

Чем split() отличается от partition()?

  • split() разбивает строку на все части по разделителю

  • partition() делит строку один раз на три части: до, разделитель, после

python
"text:more".partition(":") # ('text', ':', 'more')

Как объединить строку с числами?

С помощью str() или f-строк:

python
num = 42 result = "Ответ: " + str(num) # или result = f"Ответ: {num}"

Заключение

Сводка по методам

Методы работы со строками в Python позволяют:

  • Эффективно разбирать, объединять и форматировать строки

  • Удалять лишние символы и пробелы

  • Выполнять поиск и замену

  • Проверять содержимое и изменять регистр

  • Работать с пользовательским вводом и многострочным текстом

Рекомендации для практики и изучения

  • Начните с базовых методов (split, join, strip, replace)

  • Используйте f-строки для форматирования

  • Изучите регулярные выражения для сложных операций

  • Практикуйтесь на задачах: работа с файлами, обработка данных, парсинг текста

Эффективное владение строковыми методами — это ключевой навык в любом Python-проекте.