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."