Python. Функции обрабатывающие регистр символов в строке

Функции обрабатывающие регистр символов в строке


Содержание


1. Функция str.capitalize(). Первый символ строки становится прописным

Функция capitalize() возвращает копию строки с первым символом в верхнем регистре, а другие символы в нижнем регистре.

Пример.

# Функция str.capitalize()
# Ко вниманию принимаются только буквы
s1 = 'abcdef ghi'
s2 = str.capitalize(s1) # s2 = 'Abcdef ghi'

s1 = 't'
s2 = str.capitalize(s1) # s2 = 'T'

s1 = '234'
s2 = str.capitalize(s1) # s2 = '234'

s1 = 'ABCDEF GHI'
s2 = str.capitalize(s1) # s2 = 'Abcdef ghi'

# Учет кирилличной азбуки
s1 = 'байт!'
s2 = str.capitalize(s1) # s2 = '\xc1\xe0\xe9\xf2!'

 

2. Функция str.casefold(). Вернуть свернутую копию строки

Функция str.casefold() возвращает свернутую копию строки. Понятие «свернутая копия» строки означает, что в такой копии удалены все отличия регистра символов в строке.
Особенность «свернутой» копии строки состоит в том, что функция lower() не может быть применена к некоторым символам, а функция casefold() может. Примером такого символа есть немецкий символ ‘ß’, который в функции casefold() заменяется на символы ss в отличие от функции lower().

Функция введена в Python начиная из версии 3.3.

Пример.

# Функция casefold() - возвращает свернутую копию строки

# Использование со строками, содержащими символы верхнего и нижнего регистров
s1 = 'Abcdef Ghi'
s2 = str.casefold(s1) # s2 = 'abcdef ghi'
s3 = s1.casefold() # s3 = 'abcdef ghi'

# использование со строками, содержащими символы верхнего регистра
s4 = 'ABCDEF SS'
s5 = s4.casefold() # s5 = 'abcdef ss'

 

3. Функция str.lower(). Преобразование регистра символов

Функция str.lower() преобразовывает символы в нижний регистр.

Пример.

# Функция str.lower()

s1 = 'ABCD'
s2 = s1.lower() # s2 = 'abcd'

s2 = 'Hello World!'.lower() # s2 = 'hello world!'


 

4. Функция str.swapcase(). Вернуть копию строки с преобразованием строчных символов в заглавные и наоборот

Функция str.swapcase() возвращает копию строки с заглавными буквами, преобразованными в строчные и, наоборот, строчными преобразованными в заглавные. Общая форма вызова функции следующая:

s2 = s1.swapcase()

где

  • s1 – исходная строка, которую нужно преобразовать;
  • s2 – результирующая строка в которой все заглавные символы преобразованы в строчные, а все строчные преобразованы в заглавные.

Для данной функции нельзя утверждать, что нижеследующее выражение

s.swapcase().swapcase() == s

будет всегда выполняться.

Пример.

# Функция str.swapcase()

s1 = 'Abcd'
s2 = s1.swapcase() # s2 = 'aBCD'

s1 = 'a+5+BC+D'
s2 = str.swapcase(s1) # s2 = 'A+5+bc+d'

s2 = 'hELLO WORLD'.swapcase() # s2 = 'Hello world'

# Для кириллицы
s1 = 'вЕБ-САЙТ'
s2 = s1.swapcase() # s2 = 'Веб-сайт'

 

5. Функция str.title(). Вернуть строку с заглавными буквами в словах

Функция str.title() возвращает строку, в которой все слова начинаются с заглавной буквы. Другие символы в этих словах есть строчные. Общая форма использования функции следующая:

s2 = s1.title()

где

  • s1 – исходная строка;
  • s2 – результирующая строка, в которой реализуется корректировка символов, которые есть началами слов.

Функция имеет одну особенность. Символ ‘\» апострофа образовывает границу слова. В некоторых случаях это нежелательно. Во избежание этого недостатка нужно использовать регулярные выражения.

Пример.

# Функция str.title

s1 = 'hello world!' # s2 = 'Hello World!'
s2 = s1.title()

s1 = 'HELLO WORLD!'
s2 = str.title(s1) # s2 = 'Hello World!'

# Отдельный случай с символом апострофа '\''
s1 = "I'm happy!"
s2 = s1.swapcase() # s2 = 'i'M HAPPY!'

 

6. Функция str.upper(). Конвертировать символы строки в верхний регистр

Функция str.upper() позволяет получить копию строки в которой все символы находятся в верхнем регистре. Согласно документации Python общая форма функции следующая:

s2 = s1.upper()

где

  • s1 – исходная строка;
  • s2 – результирующая строка-копия, в которой символы нижнего регистра строки s1 заменены на символы верхнего регистра.

Конвертирование символов осуществляется только для символов имеющих верхний регистр. Это символы, которые включены в следующие категории:

  • «Lu» – Letter uppercase;
  • «Ll» – Letter lowercase;
  • «Lt» – Letter titlecase.

Пример.

# Функция str.upper()

s1 = 'abcdef'
s2 = s1.upper() # s2 = 'ABCDEF'

s1 = '' # пустая строка
s2 = str.upper(s1) # s2 = ''

s1 = '5+6=11'
s2 = s1.upper() # s2 = '5+6=11'

s2 = 'aBc deFg'.upper() # s2 = 'ABC DEFG'

 


Связанные темы