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'

 


Зв’язані теми