Gör om en sträng till versaler

Python:
Gör om en sträng till versaler

Hur man gör:

Använder Pythons inbyggda metod:

Python har en inbyggd metod .capitalize() för strängar för att enkelt genomföra denna uppgift.

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

Utdata:

Hello world

Här är min egen anpassade capitalize() som jag använder för att bygga denna webbplats. Jag behövde se till att särskilda ord som HTML alltid är skrivna med versaler. Detta demonstrerar också doctests:

def capitalize(string: str) -> str:
    """
    Gör första bokstaven i en sträng stor, dvs. gör första bokstaven versal.
    Hanterar särskilda fall som "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')
    )

Hantera flera ord:

För scenarier där du vill att varje ord i en sträng ska börja med en stor bokstav (som titlar), kan metoden .title() användas.

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

Utdata:

Python Programming Essentials

Använda tredjepartsbibliotek:

Även om Pythons standardbibliotek är utrustat för grundläggande kapitalisering av strängar, kan bibliotek som textblob erbjuda en mer nyanserad kontroll, särskilt för bearbetning av naturligt språk.

Se först till att du har textblob installerat:

pip install textblob

Använd sedan det för att göra strängar med stora bokstäver, med tanke på att textblob kan fungera annorlunda baserat på användningssammanhang:

from textblob import TextBlob

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

Utdata:

This is a test sentence

Kom ihåg, medan metoderna capitalize() och title() är universellt användbara, kan användningen av bibliotek som textblob erbjuda ytterligare flexibilitet för specifika tillämpningar.