Stor bokstav i en streng

Python:
Stor bokstav i en streng

Hvordan:

Ved å bruke Pythons innebygde metode:

Python har en innebygd metode .capitalize() for strenger som gjør denne oppgaven enkel.

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

Utdata:

Hello world

Her er min egen tilpassede capitalize() som jeg bruker for å bygge dette nettstedet. Jeg måtte sørge for at spesielle ord som HTML alltid forblir med store bokstaver. Dette demonstrerer også doctests:

def capitalize(string: str) -> str:
    """
    Gjør første bokstav i en streng stor. Håndterer spesialtilfeller 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')
    )

Håndtering av flere ord:

For scenarier der du ønsker at hvert ord i en streng skal starte med en stor bokstav (som titler), kan .title()-metoden brukes.

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

Utdata:

Python Programming Essentials

Ved å bruke tredjepartsbiblioteker:

Selv om Pythons standardbibliotek er utstyrt for grunnleggende store bokstaver i strenger, kan biblioteker som textblob tilby mer nyansert kontroll, spesielt for behandling av naturlig språk.

Først, sørg for at du har textblob installert:

pip install textblob

Deretter kan du bruke det til å gjøre bokstaver store, men husk at textblob sin store bokstavfunksjon kan fungere annerledes avhengig av brukskontekst:

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

Husk, mens metodene capitalize() og title() er universelt nyttige, kan bruk av biblioteker som textblob gi ekstra fleksibilitet for spesifikke applikasjoner.