Эффективные методы удаления заголовков из имен в Python

import re
def remove_title_from_name(name):
    pattern = r'^\b(Mr\.|Mrs\.|Dr\.)\b\s*'
    return re.sub(pattern, '', name)
name = "Dr. John Smith"
clean_name = remove_title_from_name(name)
print(clean_name)  # Output: "John Smith"
def remove_title_from_name(name):
    words = name.split()
    if words[0] in ["Mr.", "Mrs.", "Dr."]:
        return ' '.join(words[1:])
    return name
name = "Mrs. Jane Doe"
clean_name = remove_title_from_name(name)
print(clean_name)  # Output: "Jane Doe"
def remove_title_from_name(name):
    title_replacements = {
        "Mr.": "",
        "Mrs.": "",
        "Dr.": ""
    }
    words = name.split()
    if words[0] in title_replacements:
        words[0] = title_replacements[words[0]]
    return ' '.join(words)
name = "Dr. Robert Johnson"
clean_name = remove_title_from_name(name)
print(clean_name)  # Output: "Robert Johnson"

Метод 4: использование пакета titlecase
Пакет titlecase предоставляет удобный метод titlecase.titlecase(), который пишет слова с заглавной буквы, игнорируя при этом определенные заголовки. Передав аргумент small_first_letter=True, мы можем удалить заголовки из имен.

import titlecase
def remove_title_from_name(name):
    return titlecase.titlecase(name, small_first_letter=True)
name = "Dr. Sarah Brown"
clean_name = remove_title_from_name(name)
print(clean_name)  # Output: "Sarah Brown"