Метод str.title() в Python — как используется и примеры

Рассмотрим, как использовать метод Python string title() для преобразования строки в titlecase.

Содержание

Что такое метод Python str.title()?

Titlecase — это стиль заглавных букв, используемый для заголовков, при котором первая буква каждого слова заглавная, а остальные буквы — строчные. Например:

Python Title Case Tutorial

Однако правила написания заглавных букв не являются общепринятыми.

Чтобы сделать версию строки в заголовочном регистре, используйте метод string title(). Метод title() возвращает копию строки в заголовочном регистре. Метод title() преобразует первый символ каждого слова в заглавный, а остальные символы — в строчные.

Ниже показан синтаксис метода title():

str.title()

Пример метода title() в Python

В следующем примере показано, как использовать метод title() для возврата версии строки с заголовком в регистре:

name = 'john doe'.title()
print(name)

Выход:

John Doe

Ограничение метода title() в Python

Метод title() определяет слово как группу последовательных букв.

Это правило работает во многих контекстах. Однако оно не будет работать так, как вы могли бы ожидать, если строка содержит апострофы (‘), как в сокращениях и притяжательных падежах. Например:

s = "They're john's relatives.".title()
print(s)

Выход:

They'Re John'S Relatives.

В этом примере строка содержит апострофы (‘), которые действуют как границы слов. Метод title() рассматривает They’re как два отдельных слова.

Чтобы исправить это, необходимо определить функцию, использующую регулярное выражение:

import re
def titlecase(s):
    return re.sub(
        r"[A-Za-z]+('[A-Za-z]+)?",
        lambda word: word.group(0).capitalize(),
        s)

И использовать функцию titlecase():

s = "They're john's relatives."
s = titlecase(s)
print(s)

Выход:

They're John's Relatives.

Теперь все работает так, как и ожидалось.

Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *