Capitalizzare una stringa

Python:
Capitalizzare una stringa

Come fare:

Utilizzando il Metodo Integrato di Python:

Python dispone di un metodo integrato .capitalize() per le stringhe per eseguire facilmente questo compito.

my_string = "hello world"
capitalized_string = my_string.capitalize()
print(capitalized_string)

Output:

Hello world

Ecco il mio capitalize() personalizzato che uso per costruire questo sito. Dovevo assicurarmi che parole speciali come HTML rimanessero sempre in maiuscolo. Questo dimostra anche i doctests:

def capitalize(string: str) -> str:
    """
    Rendi maiuscola la prima lettera di una stringa.
    Gestisci casi speciali come "HTML".

    >>> capitalize("this is html, csv, xml, and http (no REPL).")
    'This is HTML, CSV, XML, and HTTP (no REPL).'

    >>> capitalize("this is json, VBA, an IDE, and yaml in the CLI.")
    'This is JSON, VBA, an IDE, and YAML in the 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')
    )

Gestione di Più Parole:

Per scenari in cui si desidera che ogni parola in una stringa inizi con una lettera maiuscola (come i titoli), può essere applicato il metodo .title().

my_title = "python programming essentials"
title_case = my_title.title()
print(title_case)

Output:

Python Programming Essentials

Utilizzando Librerie di Terze Parti:

Sebbene la libreria standard di Python sia dotata dei mezzi necessari per la capitalizzazione di base delle stringhe, librerie come textblob possono offrire un controllo più sfumato, specialmente per l’elaborazione del linguaggio naturale.

Prima, assicurati di avere textblob installato:

pip install textblob

Quindi, utilizzalo per capitalizzare le stringhe, tenendo presente che il comportamento della capitalizzazione di textblob potrebbe variare a seconda del contesto di utilizzo:

from textblob import TextBlob

my_sentence = "this is a test sentence"
blob = TextBlob(my_sentence)
capitalized_blob = TextBlob(blob.string.capitalize())
print(capitalized_blob)

Output:

This is a test sentence

Ricorda, mentre i metodi capitalize() e title() sono universalmente utili, sfruttare librerie come textblob può fornire flessibilità aggiuntiva per applicazioni specifiche.