Zoznam reťazcových metód na manipuláciu s veľkými a malými písmenami v jazyku Python

obchodné

Reťazcový typ jazyka Python (str) je štandardne vybavený pohodlnými metódami na manipuláciu s veľkými a malými písmenami. Môžete konvertovať medzi veľkými a malými písmenami a určovať veľkosť písmen.

Tu sú uvedené tieto informácie.

  • Prevod medzi veľkými a malými písmenami
    • Základné použitie
    • Spracovanie znakov plnej a polovičnej veľkosti
    • str.upper()Konvertovať všetky písmená na veľké
    • str.lower()Previesť všetky písmená na malé
    • str.capitalize()Prvé písmeno preveďte na veľké a ostatné na malé.
    • str.title()Preveďte prvé písmeno slova na veľké a ostatné na malé.
    • str.swapcase()Preveďte veľké písmená na malé a malé písmená na veľké.
  • Určenie veľkých a malých písmen
    • str.isupper(): Určite, či sú všetky písmená veľké
    • str.islower(): Určite, či sú všetky znaky malé.
    • str.istitle(): Určite, či ide o prípad titulu.
  • Porovnávanie reťazcov bez ohľadu na veľkosť písmen

Prevod medzi veľkými a malými písmenami

Základné použitie

Najprv vysvetlím základné použitie. Ako príklad použijeme metódu upper() na písanie veľkých písmen, ale to isté platí aj pre ostatné metódy.

Kvôli pohodliu píšeme „konverzia“, ale v jazyku Python sa objekty typu string (str) nedajú aktualizovať, takže samotný pôvodný string (v príklade s_org) sa nemení.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.upper())
# PYTHON PROGRAMMING LANGUAGE

print(s_org)
# pYThon proGramminG laNguAge

Ak chcete konvertovaný reťazec použiť neskôr, môžete ho uložiť do novej premennej takto.

s_new = s_org.upper()
print(s_new)
# PYTHON PROGRAMMING LANGUAGE

Pôvodnú premennú je tiež možné prepísať.

s_org = s_org.upper()
print(s_org)
# PYTHON PROGRAMMING LANGUAGE

Spracovanie znakov plnej a polovičnej veľkosti

Ak je znak citlivý na veľkosť písmen, napríklad abeceda, prevedie sa na jednobajtové aj dvojbajtové znaky.

Znaky, pri ktorých sa nerozlišujú veľké a malé písmená, ako sú čísla a čínske znaky, zostávajú nezmenené. Príklad sa týka metódy upper(), ale to isté platí aj pre ostatné metódy.

s_org = 'Pyhon Python 123'

print(s_org.upper())
# PYHON PYTHON 123

str.upper(): prevedie všetky písmená na veľké

s_org = 'pYThon proGramminG laNguAge'

print(s_org.upper())
# PYTHON PROGRAMMING LANGUAGE

str.lower(): prevedie všetky znaky na malé písmená

s_org = 'pYThon proGramminG laNguAge'

print(s_org.lower())
# python programming language

str.capitalize(): prevedie prvé písmeno na veľké, ostatné na malé

s_org = 'pYThon proGramminG laNguAge'

print(s_org.capitalize())
# Python programming language

str.title(): prevedie prvé písmeno slova na veľké a ostatné na malé

Konverzia na tzv. titulný prípad.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.title())
# Python Programming Language

str.swapcase(): prevod veľkých písmen na malé, malých na veľké

Vymeňte veľké a malé písmená.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.swapcase())
# PytHON PROgRAMMINg LAnGUaGE

Určenie veľkých a malých písmen

V nasledujúcich príkladoch sa metódy volajú priamo z reťazcových literálov, napríklad „python“, ale to isté platí aj pri uložení do premenných ako v predchádzajúcich príkladoch.

str.isupper(): určí, či sú všetky písmená veľké

isupper() vráti true, ak obsahuje aspoň jeden znak s veľkými písmenami a všetky sú veľké, a false v opačnom prípade.

print('PYTHON'.isupper())
# True

print('Python'.isupper())
# False

Ak je znak citlivý na veľkosť písmen, posudzujú sa aj dvojbajtové znaky.

print('PYTHON'.isupper())
# True

Ak je zahrnutý čo i len jeden znak citlivý na veľkosť písmen, znak citlivý na veľkosť písmen sa ignoruje, ale ak nie je zahrnutý žiadny znak citlivý na veľkosť písmen (všetky znaky sú citlivé na veľkosť písmen), rozhodnutie je false.

print('PYTHON 123'.isupper())
# True

print('123'.isupper())
# False

str.islower(): určí, či sú všetky znaky malé

islower() vráti true, ak obsahuje aspoň jeden znak s malými písmenami a všetky sú malé, a false v opačnom prípade.

print('python'.islower())
# True

print('Python'.islower())
# False

Ak je znak citlivý na veľkosť písmen, posudzujú sa aj dvojbajtové znaky.

print('python'.islower())
# True

Ak je zahrnutý čo i len jeden znak citlivý na veľkosť písmen, znak citlivý na veľkosť písmen sa ignoruje, ale ak nie je zahrnutý žiadny znak citlivý na veľkosť písmen (všetky znaky sú citlivé na veľkosť písmen), rozhodnutie je false.

print('python 123'.islower())
# True

print('123'.islower())
# False

str.istitle(): Určiť, či ide o prípad title.

funkcia istitle() vráti true, ak je reťazec veľkým písmenom slova (prvé písmeno slova je veľké, ostatné sú malé), inak false.

print('Python Programming Language'.istitle())
# True

print('PYTHON Programming Language'.istitle())
# False

Ak obsahuje znaky nerozlišujúce veľkosť písmen, bude false, ak pred znakmi nerozlišujúcimi veľkosť písmen stojí malé písmeno.

print('★Python Programming Language'.istitle())
# True

print('Python★ Programming Language'.istitle())
# True

print('Py★thon Programming Language'.istitle())
# False

Všimnite si, že reťazcov, ako je uvedený príklad, nie je veľa, ale je reálne zahrnúť čísla v poradových číslach a iných prípadoch.

print('The 1st Team'.istitle())
# False

print('The 1St Team'.istitle())
# True

Ak nie sú zahrnuté žiadne znaky citlivé na veľkosť písmen (všetky znaky sú citlivé na veľkosť písmen), false.

print('123'.istitle())
# False

Porovnávanie reťazcov bez ohľadu na veľkosť písmen

Pri porovnávaní reťazcov sa rôzne veľké a malé písmená nepovažujú za rovnocenné.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

Ak chcete porovnať veľké a malé písmená, môžete použiť funkciu upper() alebo lower() na ich prevod a porovnanie.

print(s1.upper() == s2.upper())
# True

print(s1.lower() == s2.lower())
# True

print(s1.capitalize() == s2.capitalize())
# True

print(s1.title() == s2.title())
# True