Преобразование строки в верхний регистр

Python:
Преобразование строки в верхний регистр

Как сделать:

Использование встроенного метода Python:

В Python есть встроенный метод .capitalize() для строк, позволяющий легко справиться с этой задачей.

my_string = "привет мир"
capitalized_string = my_string.capitalize()
print(capitalized_string)

Вывод:

Привет мир

Вот мой собственный настроенный метод capitalize(), который я использую для создания этого сайта. Мне нужно было убедиться, что особые слова, например HTML, всегда остаются заглавными. Это также демонстрирует использование doctests:

def capitalize(string: str) -> str:
    """
    Сделать первую букву строки заглавной.
    Обрабатывать особые случаи, например "HTML".

    >>> capitalize("это html, csv, xml и http (без REPL).")
    'Это HTML, CSV, XML и HTTP (без REPL).'

    >>> capitalize("это json, VBA, IDE и yaml в CLI.")
    'Это JSON, VBA, IDE и YAML в CLI.'
    """
    return (
        string
            .capitalize()
            .replace('cli',  'CLI')
            .replace('csv',  'CSV')
            .replace('html', 'HTML')
            .replace('http', 'HTTP')
            .replace('ide',  'IDE')
            .replace('json', 'JSON')
            .replace('repl', 'REPL')
            .replace('vba',  'VBA')
            .replace('xml',  'XML')
            .replace('yaml', 'YAML')
    )

Обработка нескольких слов:

Для ситуаций, когда вы хотите, чтобы каждое слово в строке начиналось с заглавной буквы (например, в заголовках), можно применить метод .title().

my_title = "основы программирования на python"
title_case = my_title.title()
print(title_case)

Вывод:

Основы Программирования На Python

Использование сторонних библиотек:

Хотя стандартная библиотека Python оснащена для базовой капитализации строк, библиотеки, такие как textblob, могут предложить более тонкий контроль, особенно для обработки естественного языка.

Сначала убедитесь, что у вас установлен textblob:

pip install textblob

Затем используйте его для капитализации строк, имея в виду, что капитализация в textblob может работать по-разному в зависимости от контекста использования:

from textblob import TextBlob

my_sentence = "это тестовое предложение"
blob = TextBlob(my_sentence)
capitalized_blob = TextBlob(blob.string.capitalize())
print(capitalized_blob)

Вывод:

Это тестовое предложение

Помните, хотя методы capitalize() и title() универсально полезны, использование библиотек, таких как textblob, может предоставить дополнительную гибкость для конкретных приложений.