10 примеров использования методов строк в python

Строка — это последовательность символов. Встроенный строковый класс в Python представляет собой строки, основанные на наборе символов Юникод — международного стандарта кодирования символов. Строки работают с базовыми операциями Python и некоторыми дополнительными эксклюзивными методами.

В этом материале изучим самые используемые. Здесь важно отметить, что все строковые методы всегда возвращают новые значения, а не меняют оригинальную строку.

1. Выравнивание строки по центру

Метод center() выравнивает строку по центру. Выравнивание происходит за счет определенного символа (по умолчанию — это пробел).

Синтаксис

str.center(length, fillchar), где:

  • length — длина строки (обязательно);
  • fillchar — символ, который определяет выравнивание (необязательно);

Пример кода

sentence = 'алгоритм'
sentence.center(14,'-')
'---алгоритм---'

2. Сколько раз символ встречается в строке

Метод count() возвращает, сколько раз конкретное значение встречалось в строке.

Синтаксис

str.count(value, start, end), где:

  • value — подстрока, которую нужно искать в строке (обязательно);
  • start — начальный индекс строки, откуда нужно начинать поиск (необязательно);
  • end — конечный индекс строки, где поиск значения должен завершиться (необязательно);

Пример кода

sentence = 'Она продает ракушки на берегу моря. Товары, которые она продает, безусловно, ракушки.'
sentence.count('ракушки')
sentence.count('ракушки',9,25)
2
1

3. Поиск подстроки в строке

Метод find() возвращает наименьший индекс позиции, где указанная подстрока встречается в строке. Если она не найдена, возвращает -1.

Синтаксис

str.find(value, start, end), где:

  • value — подстрока, которую нужно искать в строке (обязательно);
  • start — начальный индекс строки, откуда нужно начинать поиск (необязательно);
  • end — конечный индекс строки, где поиск значения должен завершиться (необязательно);

Типы

  • rfind() — метод rfind() похож на find(), но он возвращает самый большой индекс.

Пример кода

sentence = 'Она продает ракушки на берегу моря. Товары, которые она продает, безусловно, ракушки.'
sentence.find('ракушки')
sentence.find('ракушки',0,9)
sentence.find('р',5,10)
sentence.rfind('ракушки')
10
-1
8
69

4. Зеркальное изменение регистра строки

Метод swapcase() возвращает копию строки, где все буквы в нижнем регистре написаны в верхнем и наоборот.

Синтаксис

string.swapcase()

Пример кода

sentence = 'Queue - это еще одна ФУНДАМЕНТАЛЬНАЯ СТРуктура данных'
sentence.swapcase()
'qUEUE - ЭТО ЕЩЕ ОДНА фундаментальная стрУКТУРА ДАННЫХ'

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

Метод startswith() возвращает True, если строка начинается с заданного значения; в противном случае — False.

Метод endswith() возвращает False, если строка заканчивается конкретным значением; в противном случае — False.

Синтаксис

string.startswith(value, start, end)
string.endsswith(value, start, end)

  • value — это значение, которое нужно искать в строке (обязательно);
  • start — начальный индекс строки, откуда нужно начинать поиск (необязательно);
  • end — конечный индекс строки, где поиск значения должен завершиться (необязательно);

Пример кода

#string.startswith()

sentence = 'Бинарный поиск - классический рекурсивный алгоритм'
sentence.startswith("Бинарный")
sentence.startswith("поиск",7,20)
True
True
#string.endswith()
sentence.endswith('классический')
False

6. Превращение строки в список

Метод split() возвращает список из слов строки, где разделителем по умолчанию выступает пробел.

Синтаксис

string.split(sep, maxsplit)

  • sep — разделитель, которые используется для разделения строки. Если ничего не указано, то им выступает пробел (необязательно);
  • maxsplit() — обозначает количество разделений. Значение по умолчанию (-1) означает «во всех случаях» (необязательно);

Типы

  • rsplit() — разбивает строку, начиная с правой стороны.

Пример кода

#string.split()

fruits = 'яблоки, манго, бананы, виноград'
fruits.split()
fruits.split(",",maxsplit = 2)
['яблоки,', 'манго,', 'бананы,', 'виноград']
['яблоки', ' манго', ' бананы, виноград']
#string.rsplit()
fruits.rsplit(",",maxsplit = 1)
['яблоки, манго, бананы', ' виноград']

7. Изменение регистра строки

7.1. Первый символ в верхний регистр

Метод capitalize() делает заглавным только первый символ строки.


Синтаксис

string.capitalize()

"сан-Франциско".capitalize()
'Сан-франциско'

7.2. Все символы в верхний регистр

Метод upper() делает все символы строки в верхнем регистре.

Синтаксис

string.upper()

"сан-Франциско".upper()
'САН-ФРАНЦИСКО'

7.3. Все первые буквы слов в верхний регистр

Метод title() делает заглавными все первые буквы в словах заданной строки.

Синтаксис

string.title()

"сан-Франциско".title()
'Сан-Франциско'

8. Выравнивание строк по левому или правому краю

Метод ljust() возвращает выровненную по левому краю строку с помощью заданного символа (пробел по умолчанию). Метод rjust() выравнивает строку по правому краю.

Синтаксис

string.rjust/ljust(length, character)

  • length — длина строки, которую нужно вернуть (обязательно);
  • character — символ, используемый для заполнения пустого пространства, пробел по умолчанию (необязательно);

Пример кода

#str.rjust
text = 'Бинарный поиск — '
print(text.rjust(25),"классический рекурсивный алгоритм")
        Бинарный поиск —  классический рекурсивный алгоритм
#str.ljust
text = 'Бинарный поиск — '
print(text.ljust(25),"классический рекурсивный алгоритм")
Бинарный поиск —          классический рекурсивный алгоритм

9. Удаление пробелов вокруг строки

Метод strip() возвращает копию строки, в которой удалены определенные символы в начале и конце строки. Пробел — символ по умолчанию.

Синтаксис

string.strip(character)

Типы

  • rstrip() — убирает символы с правой части строки.
  • lstrip() — удаляет символы с левой стороны строки.

Пример


#str.strip
string = '#.......Раздел 3.2.1 Вопрос #32......'
string.strip('.#!')
'Раздел 3.2.1 Вопрос #32'
#str.rstrip
string.rstrip('.#!')
string.lstrip('.#!')
'#.......Раздел 3.2.1 Вопрос #32'
'Раздел 3.2.1 Вопрос #32......'

10. Добавление нулей в начале строки

Метод zfill() добавляет нули (0) в начале строки. Длина возвращаемой строки зависит от указанной ширины.

Синтаксис

string.zfill(width)

  • width — определяет длину возвращаемой строки. Нули не добавляются, если параметр ширины меньше длины оригинальной строки.

Пример

'7'.zfill(3)
'-21'.zfill(5)
'Python'.zfill(10)
'Python'.zfill(3)
'007'
'-0021'
'0000Python'
'Python'

Выводы

Это лишь некоторые полезные встроенные в Python строковые методы. Есть и другие, не менее важные. Статья Строки в python 3: методы, функции, форматирование — отличный ресурс для углубления во все подробности.