В Python у объектов типа string
имеется огромное количество методов для работы с ними. Они могут быть сгруппированы в два различных типа: первый – методы, которые модифицируют объект и создают новый, и второй – методы, которые предоставляют информацию об объекте.
Содержание
Строковые методы для изменения строки
string.capitalize()
– изменяет строку, переводя все ЗАГЛАВНЫЕ буквы в строчные, кроме первой:
>>> string = 'This Is Some string' >>> print(string.capitalize()) This is some string
string.center(ширина, символ)
– создаёт новую строку, окружённую символ (по-умолчанию – пробел) на ширина в точках:
>>> string = 'This Is Some string' >>> print(string.center(100)) This Is Some string
>>> print(string.center(100, '.')) ........................................This Is Some string.........................................
string.encode(кодировка)
– сменить кодировку символов на кодировка (по-умолчанию – ASCII), не работает в Python 2.6 и более ранних версиях (вызывает исключение TypeError: encode() takes no keyword arguments):
>>> string = 'This Is Some string' >>> print(string.encode(encoding='base64')) VGhpcyBJcyBTb21lIHN0cmluZw==
string.decode(кодировка)
– то же, но наоборот:
>>> string = 'VGhpcyBJcyBTb21lIHN0cmluZw==' >>> print(string.decode(encoding='base64')) >>> This Is Some string
string.expandtabs(количество)
– меняет количество символов в табуляции, если не указано количество – используется по-умолчанию 8:
>>> string = 'tThis Is Some stringt' >>> print(string) This Is Some string >>> print(string.expandtabs(2)) This Is Some string >>> print(string.expandtabs()) This Is Some string
string.join(последовательность)
– возвращает строку, в которой элементы последовательности разделены строкой string:
>>> sequence = (' - ', ' - ', ' - ') >>> string = 'This Is Some string' >>> print(string.join(sequence)) - This Is Some string - This Is Some string -
string.ljust(количество, символы)
– сдвигает левый край строки на количество точек, указанных в символы, по-умолчанию – пробелы:
>>> print(string.ljust(50, '-')) This Is Some string-------------------------------
string.rjust(количество, символы)
– то же, но с правой стороны:
>>> print(string.rjust(50, '-')) -------------------------------This Is Some string
string.lstrip(символы)
– возвращает строку, с обрезанными с левой стороны символами (по-умолчанию – пробелы):
>>> string = 'This Is Some string' >>> print(string.lstrip('T')) his Is Some string
string.rstrip(символы)
– то же, но с правой стороны:
>>> print(string.rstrip('g')) This Is Some strin
string.strip(символы)
– выполняет lstrip()
и rstrip() для символов, по-умолчанию – пробелы:
>>> string = ' This Is Some string ' >>> print(string.strip()) This Is Some string
>>> string = '-----This Is Some string-----' >>> print(string.strip('-')) This Is Some string
string.replace(старый, новый, количество)
– возвращает стркоу, в которой меняет старые символы на новые, если указано – то на максимальное указанное количество совпадений:
>>> string = '11111 22222 33333' >>> print(string.replace('1', '5')) 55555 22222 33333
>>> print(string.replace('1', '5', 2)) 55111 22222 33333
string.swapcase()
– инвертирует ЗАГЛАВНЫЕ в строчные, и наоборот:
>>> string = 'This Is Some String' >>> print(string.swapcase()) tHIS iS sOME sTRING
string.lower()
– возвращает строку, в которой все символы переведены в строчные:
>>> string = 'This Is Some string' >>> print(string.lower()) this is some string
string.upper()
– возвращает строку, в которой все символы переведены в ЗАГЛАВНЫЕ:
>>> string = 'This Is Some String' >>> print(string.upper()) THIS IS SOME STRING
string.title()
– возвращает стркоу, в которой все первые символы элементов переведены в Заглавные (“titlestyle“):
>>> string = 'This is some string' >>> print(string.title()) This Is Some String
Строковые методы, для получения информации об объекте
string.count(символ, начало, конец)
– возвращает количество вхождений символа, начало-конец – опциональны, отсчёт с 0:
>>> string = 'This is some string'>>> print(string.count('T')) 1 >>> print(string.count('T', 0, 2)) 1 >>> print(string.count('T', 2, 6)) 0 >>> type(string.count('T', 2, 6)) <type 'int'>
string.startswith(символ, начало, конец)
– возвращает True
, если строка начинается с символа, начало-конец – опциональны:
>>> string = 'ia ia ia' >>> string.startswith('i', 1, 3) False >>> string.startswith('i') True
string.endswith(символ, начало, конец)
– возвращает True
, если строка заканчивается на символ, начало-конец – опциональны, отсчёт с нуля:
>>> string = 'This is some string' >>> string.endswith('g') True >>> string.endswith('g', 0, 2) False
string.find(символ, начало, конец)
– возвращает индекс первого найденного символа, начало-конец – опциональны, или -1 – если не найдено
>>> string = 'This is some string' >>> string.find('i') 2 >>> string.find('i', 3, 7) 5 >>> string.find('g', 0, 7) -1
string.index(символ, начало, конец)
– то же, что и find()
, но вызывает ValueError
в случае, если символ не найден:
>>> string.index('i') 2 >>> string.index('g', 0, 7) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found
string.rfind(символ, начало, конец)
– возвращает последний (самый большой) индекс найденного символа, начало-конец – опциональны, -1 – если не найден:
>>> string = 'ia ia ia' >>> string.rfind('i') 6 >>> string.rfind('i', 0, 2) 0 >>> string.rfind('i', 0, 3) 0 >>> string.rfind('i', 0, 4) 3 >>> string.rfind('i', 1, 3) -1
string.rindex(символ, начало, конец)
– то же, что и rfind()
, но вызывает ValueError
, если не найдено:
>>> string.rindex ('i') 6 >>> string.rindex('i') 6 >>> string.rindex('i', 1, 3) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found
string.isalnum()
– возвращает True
, если строка – буквенно-цифровая, и в ней есть хотя бы один символ:
>>> string = 'Alpha12345' >>> string.isalnum() True >>> string = '12345' >>> string.isalnum() True >>> string = '' >>> string.isalnum() False
string.isalpha()
– возвращает True
, если строка состоит только из букв:
>>> string = 'Alpha' >>> string.isalpha() True >>> string = '12345' >>> string.isalpha() False
string.isdigit()
– то же, но наоборот:
>>> string = '12345' >>> string.isdigit() True >>> string = 'Alpha' >>> string.isdigit() False
string.islower()
– возвращает True
, если все символы – строчные:
>>> string = 'Alpha' >>> string.islower() False >>> string = 'alpha' >>> string.islower() True
string.isspace()
– возвращает True
, если все символы – пробелы:
>>> string = ' ' >>> string.isspace() True >>> string = ' a ' >>> string.isspace() False
string.istitle()
– возвращает True
, если все элементы начинаются с ЗАГЛАВНОЙ буквы:
>>> string = 'This Is Titled String' >>> string.istitle() True >>> string = 'this is titled string' >>> string.istitle() False >>> string = 'This is titled string' >>> string.istitle() False
string.isupper()
– возвращает True
, если все буквы ЗАГЛАВНЫЕ:
>>> string = 'UPPER STRING' >>> string.isupper() True >>> string = 'lower string' >>> string.isupper() False
string.partition(символ)
– делит строку на три части одного кортежа, выделяя символ в отдельный элемент:
>>> string = 'This is string' >>> string.partition('i') ('Th', 'i', 's is string')
string.split(символ)
– возвращает список, вырезая символ:
>>> string = 'This is string' >>> string.split('i') ['Th', 's ', 's str', 'ng']