Преобразование строк в Title Case с Python — быстро и надежно
С этим трюком вы можете быстро конвертировать Python-строку в Title Case. Цитируя из статьи Википедии:
Title case часто используется как в офлайн, так и в онлайн печати. Этот сайт сам использует title case для всех своих статей. Если вы посмотрите внимательно, вы заметите, что большинство веб-сайтов, газет и журналов, в самом деле, используют title case.
Вы можете быстро создать строку в title case в Python; просто используйте встроенный метод title():
>>> title = "string in title case" >>> title.title() 'String In Title Case'
К сожалению, это не работает очень хорошо:
- Если строка содержит апострофы, это приводит к такому: They’Re Not Working
- Маленькие слова вроде 'in' и 'no' не должны быть в title case, но становятся
Более надежная версия для конвертации строки в title case следующая, и она использует регулярные выражения:
import re
def titlecase(s):
return re.sub(r"[A-Za-z]{3,}('[A-Za-z]+)?", lambda mo: mo.group(0).capitalize(), s)
titlecase("It's great, and no small words")
# "It's Great, And no Small Words"
Регулярное выражение:
- Сопоставляет все слова по отдельности, как с апострофами, так и без.
- Не сопоставляет слова короче 3 символов, что обычно при title case заголовков
Вы свободны дальше адаптировать этот кусок кода под свои нужды. Например, вы могли бы сделать так, чтобы маленькое слово вроде 'i' всегда было с большой буквы.
Python
- Мастерство операторов Python: Полное руководство
- Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
- Конвертация char в String в Java — практические примеры и лучшие практики
- Реверс строки в Java с использованием рекурсии — пошаговое руководство
- Мастерство метода strip() в Python: подробное руководство и практические примеры
- Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами
- Мастерство строк форматирования format() в Python: понятные примеры
- Python len(): практическое руководство по измерению длины объектов
- Мастерство метода String.find() в Python: синтаксис, примеры и альтернативы
- Освоение enumerate() в Python: циклы с индексами для списков, кортежей, строк и словарей