Функции и методы строк

Функции и методы строк в Python предоставляют множество инструментов для работы с текстовыми данными. Они позволяют изменять, анализировать и форматировать строки. Давайте подробно рассмотрим основные методы строк.

Основные методы строк

str.upper()

Преобразует все символы строки в верхний регистр.

text = "hello"
print(text.upper())  # Вывод: HELLO

str.lower()

Преобразует все символы строки в нижний регистр.

text = "HELLO"
print(text.lower())  # Вывод: hello

str.capitalize()

Преобразует первый символ строки в верхний регистр, остальные символы в нижний.

text = "hello world"
print(text.capitalize())  # Вывод: Hello world

str.title()

Преобразует первый символ каждого слова в верхний регистр.

text = "hello world"
print(text.title())  # Вывод: Hello World

str.swapcase()

Меняет регистр каждого символа строки (верхний на нижний и наоборот).

text = "Hello World"
print(text.swapcase())  # Вывод: hELLO wORLD

str.strip([chars])

Удаляет пробелы (или указанные символы) с начала и конца строки.

text = "  hello  "
print(text.strip())  # Вывод: hello

str.lstrip([chars])

Удаляет пробелы (или указанные символы) с начала строки.

text = "  hello"
print(text.lstrip())  # Вывод: hello

str.rstrip([chars])

Удаляет пробелы (или указанные символы) с конца строки.

text = "hello  "
print(text.rstrip())  # Вывод: hello

str.replace(old, new, [count])

Заменяет все вхождения подстроки old на new. Аргумент count указывает количество замен.

text = "hello world"
print(text.replace("world", "Python"))  # Вывод: hello Python

str.find(sub[, start[, end]])

Ищет первое вхождение подстроки sub в строке, начиная с позиции start и заканчивая позицией end. Возвращает индекс первого вхождения или -1, если подстрока не найдена.

text = "hello world"
print(text.find("world"))  # Вывод: 6
print(text.find("Python"))  # Вывод: -1

str.rfind(sub[, start[, end]])

Ищет последнее вхождение подстроки sub в строке. Возвращает индекс последнего вхождения или -1, если подстрока не найдена.

text = "hello world world"
print(text.rfind("world"))  # Вывод: 12

str.index(sub[, start[, end]])

Ищет первое вхождение подстроки sub в строке. Возвращает индекс первого вхождения или вызывает исключение ValueError, если подстрока не найдена.

text = "hello world"
print(text.index("world"))  # Вывод: 6

str.rindex(sub[, start[, end]])

Ищет последнее вхождение подстроки sub в строке. Возвращает индекс последнего вхождения или вызывает исключение ValueError, если подстрока не найдена.

text = "hello world world"
print(text.rindex("world"))  # Вывод: 12

str.startswith(prefix[, start[, end]])

Проверяет, начинается ли строка с подстроки prefix.

text = "hello world"
print(text.startswith("hello"))  # Вывод: True
print(text.startswith("world"))  # Вывод: False

str.endswith(suffix[, start[, end]])

Проверяет, заканчивается ли строка на подстроку suffix.

text = "hello world"
print(text.endswith("world"))  # Вывод: True
print(text.endswith("hello"))  # Вывод: False

str.isdigit()

Проверяет, состоит ли строка только из цифр.

text = "12345"
print(text.isdigit())  # Вывод: True

str.isalpha()

Проверяет, состоит ли строка только из букв.

text = "hello"
print(text.isalpha())  # Вывод: True

str.islower()

Проверяет, состоит ли строка только из строчных букв.

text = "hello"
print(text.islower())  # Вывод: True

str.isupper()

Проверяет, состоит ли строка только из заглавных букв.

text = "HELLO"
print(text.isupper())  # Вывод: True

str.istitle()

Проверяет, является ли строка заголовком (каждое слово начинается с заглавной буквы).

text = "Hello World"
print(text.istitle())  # Вывод: True

str.isspace()

Проверяет, состоит ли строка только из пробельных символов.

text = "   "
print(text.isspace())  # Вывод: True

str.zfill(width)

Заполняет строку слева нулями до заданной ширины width.

text = "42"
print(text.zfill(5))  # Вывод: 00042

Форматирование строк

Оператор %

name = "Alice"
age = 30
print("Name: %s, Age: %d" % (name, age))  # Вывод: Name: Alice, Age: 30

Метод format()

name = "Alice"
age = 30
print("Name: {}, Age: {}".format(name, age))  # Вывод: Name: Alice, Age: 30

f-строки (Python 3.6+)

name = "Alice"
age = 30
print(f"Name: {name}, Age: {age}")  # Вывод: Name: Alice, Age: 30

Работа со строками в списках

str.split(sep=None, maxsplit=-1)

Разделяет строку по разделителю sep и возвращает список подстрок. Параметр maxsplit ограничивает количество разделений.

text = "hello world"
print(text.split())  # Вывод: ['hello', 'world']

str.rsplit(sep=None, maxsplit=-1)

Разделяет строку по разделителю sep, начиная с конца, и возвращает список подстрок. Параметр maxsplit ограничивает количество разделений.

text = "hello world world"
print(text.rsplit(" ", 1))  # Вывод: ['hello world', 'world']

str.splitlines([keepends])

Разделяет строку на строки по символам новой строки и возвращает список строк. Параметр keepends указывает, нужно ли сохранять символы новой строки.

text = "line1\nline2\nline3"
print(text.splitlines())  # Вывод: ['line1', 'line2', 'line3']

Заключение

Функции и методы строк в Python предоставляют богатый набор инструментов для обработки текста. Эти методы позволяют легко изменять, анализировать и форматировать строки, делая их неотъемлемой частью повседневного программирования.

Last updated