str.title()
Метод str.title()
возвращает копию строки str
, в которой у каждого слова в строке, первый символ имеет верхний регистр, а остальные символы слова переводятся в нижний регистр. Другими словами, метод вернет копию строки, в которой все слова начинаются с заглавной буквы.
Алгоритм использует простое независимое от языка определение слова как группы последовательных букв. Определение работает во многих контекстах, но оно означает, что апострофы в сокращениях и притяжениях образуют границы слов, что может не соответствовать желаемому результату
str.upper()
.str.lower()
.>>> x = 'первое слово в строке начинается с заглавной буквы'
>>> x.title()
# 'Первое Слово В Строке Начинается С Заглавной Буквы'
x = 'пЕРВОЕ сЛОВО строке начинается с загЛаВной букВы'
>>> x.title()
# 'Первое Слово В Строке Начинается С Заглавной Буквы'
Поведение метода с апострофами в сокращениях:
>>> x = "they're bill's friends from the UK"
>>> x.title()
# "They'Re Bill'S Friends From The Uk"
Обходной путь для апострофов может быть создан с использованием регулярных выражений:
>>> import re
>>> def titlecase(s):
... return re.sub(r"[A-Za-z]+('[A-Za-z]+)?",
... lambda mo: mo.group(0).capitalize(),
... s)
...
>>> titlecase("they're bill's friends.")
# "They're Bill's Friends."