ФункцияОписаниеПример
Строчные/прописные
str.capitalize Переводит первый символ строки в верхний регистр, а все остальные в нижний
>>> 'привет, МИР!'.capitalize()
'Привет, мир!'
str.lower Преобразование строки к нижнему регистру
>>> 'Странная ФУНКция'.lower()
'странная функция'
str.swapcase Переводит символы нижнего регистра в верхний, а верхнего – в нижний
>>> 'Странная ФУНКция'.swapcase()
'сТРАННАЯ функЦИЯ'
str.title Первую букву каждого слова переводит в верхний регистр, а все остальные в нижний
>>> 'Странная ФУНКция'.title()
'Странная Функция'
str.upper Преобразование строки к верхнему регистру
>>> 'Странная ФУНКция'.upper()
'СТРАННАЯ ФУНКЦИЯ'
Обрезка и выравнивание
str.center(width, [fill]) Возвращает отцентрованную строку, по краям которой стоит символ fill (пробел по умолчанию)
>>> 'xxx'.center(7)
'  xxx  '
str.ljust(width, fillchar=" ") Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar. Также есть метод rjust, выравнивающий по правому краю
>>> 'xxx'.ljust(7)
'xxx    '
>>> 'xxx'.rjust(7)
'    xxx'
str.zfill(width) Делает длину строки не меньшей width, по необходимости заполняя первые символы нулями
>>> '123'.zfill(5)
'00123'
str.strip([chars]) Удаление пробельных символов в начале и в конце строки, либо символов из параметра chars, если он передан. Также есть команды lstrip и rstrip, удаляющие символы только слева или только справа
>>> ' foo bo zooo   '.strip()
'foo bo zooo'
>>> '( ни за что!:-))'.strip('()-: ')
'ни за что!'
Проверка типа строки
str.isalnum Состоит ли строка из букв и цифр
>>> 'Wy7'.isalnum()
True
str.isalpha Состоит ли строка из букв
>>> 'Wy7'.isalpha()
False
str.isdigit Состоит ли строка из цифр
>>> '12313'.isdigit()
True
str.islower Состоит ли строка из символов в нижнем регистре
>>> 'привет, мир'.islower()
True
str.isspace Состоит ли строка из неотображаемых символов (пробел, табуляция, перенос строки и т.п.)
>>> ' \n\t\r'.isspace()
True
str.isupper Состоит ли строка из символов в верхнем регистре
>>> 'ПРИВЕТ, МИР'.isupper()
True
Нарезка и склейка строк
str.join Склеивает все строки из переданного параметра, используя соединитель (возможно, пустой)
>>> ', '.join(('кот', 'пёс', 'ёж'))
'кот, пёс, ёж'
str.split(sep=None, maxsplit=-1) Разрезать строку по пробельным символам. Если указан sep, то по символам sep. Если указан maxsplit, то нарезается не более, чем на указанное количество кусков. Также есть метод rsplit, который выдаст не более maxsplit кусков, считая справа
>>> 'пёт  кот     слон'.split()
['пёт', 'кот', 'слон']
>>> 'foo, boo, zoo'.split(', ')
['foo', 'boo', 'zoo']
str.splitlines Нарезать большой кусок текста на строки по любому из символов переноса ст
>>> """И днём, и ночью
Кот учёный...""".splitlines()
['И днём, и ночью', 'Кот учёный...']
str.partition Ищет шаблон в строке. Возвращает кортеж из строки до шаблона, самого шаблона, и строки после.
>>> 'fooboozoo'.partition('boo')
('foo', 'boo', 'zoo')
Посимвольная замена
str.maketrans Создаёт таблицу замены для translate. Принимает на вход две строки одинаковой длины.
>>> trans = str.maketrans('бгл', 'bgl')
str.translate Используя изготовленную при помощи maketrans таблицу, произвести посимвольную замену
>>> 'благодать'.translate(trans)
'blаgодать'

Кроме того, в модуле string можно найти ряд полезных констант:

string.ascii_letters   = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
string.ascii_lowercase = abcdefghijklmnopqrstuvwxyz
string.ascii_uppercase = ABCDEFGHIJKLMNOPQRSTUVWXYZ
string.digits          = 0123456789
string.hexdigits       = 0123456789abcdefABCDEF
string.octdigits       = 01234567
string.punctuation     = !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
string.printable       = 0123456789abcdefghijklmnopqrstuvwxyzABCD...
string.whitespace      = " \t..."
Они включают себя только ASCII символы, поэтому разные тонкие вещи с юникодом решать не помогут.
Последнее изменение: Суббота, 15 Август 2020, 02:35