A kis- és nagybetűk manipulálására szolgáló karakterlánc-módszerek listája Pythonban

Üzleti

A Python sztring típusa (str) alapfelszereltségként kényelmes módszerekkel rendelkezik a kis- és nagybetűk manipulálására. Konvertálhatunk a nagy- és kisbetűk között, és meghatározhatjuk a nagy- és kisbetűket.

A következő információk itt találhatók.

  • Átváltás nagy- és kisbetűk között
    • Alapvető használat
    • Teljes és félméretű karakterek kezelése
    • str.upper()Minden betűt nagybetűvé alakít
    • str.lower()Minden betűt kisbetűvé alakít
    • str.capitalize()Az első betűt alakítsa át nagybetűvé, a többit pedig kisbetűvé.
    • str.title()A szó első betűjét nagybetűvé, a többit kisbetűvé alakítja.
    • str.swapcase()A nagybetűket kisbetűvé, a kisbetűket pedig nagybetűvé alakítja át.
  • Nagy- és kisbetűk meghatározása
    • str.isupper(): Határozza meg, hogy minden betű nagybetűs-e
    • str.islower(): Meghatározza, hogy minden karakter kisbetűs-e.
    • str.istitle(): Határozza meg, hogy címesetről van-e szó.
  • A karakterláncok összehasonlítása a nagy- és kisbetűket nem figyelembe véve

Átváltás nagy- és kisbetűk között

Alapvető használat

Először is elmagyarázom az alapvető használatot. Példaként az upper() metódust fogjuk használni az összes betű nagybetűsítésére, de ugyanez vonatkozik a többi metódusra is.

Az egyszerűség kedvéért “konverziót” írunk, de Pythonban a string típusú (str) objektumok nem frissíthetők, így maga az eredeti string (a példában s_org) nem változik.

s_org = 'pYThon proGramminG laNguAge'

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

print(s_org)
# pYThon proGramminG laNguAge

Ha a konvertált karakterláncot később is fel akarja használni, akkor egy új változóban tárolhatja a következőképpen.

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

Lehetőség van az eredeti változó felülírására is.

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

Teljes és félméretű karakterek kezelése

Ha egy karakter nagy- és kisbetű-érzékeny, mint például az ábécé, akkor mind az egybájtos, mind a kétbájtos karakterekké konvertálódik.

A nem nagy- és kisbetű-érzékeny karakterek, például a számok és a kínai karakterek változatlanok maradnak. A példa a upper() metódusra vonatkozik, de ugyanez érvényes a többi metódusra is.

s_org = 'Pyhon Python 123'

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

str.upper(): minden betűt nagybetűvé konvertál

s_org = 'pYThon proGramminG laNguAge'

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

str.lower(): minden karaktert kisbetűvé konvertál

s_org = 'pYThon proGramminG laNguAge'

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

str.capitalize(): az első betűt nagybetűvé, a többit kisbetűvé alakítja át

s_org = 'pYThon proGramminG laNguAge'

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

str.title(): a szó első betűjét nagybetűvé, a többit kisbetűvé alakítja át

Átalakítás egy úgynevezett jogcím esetre.

s_org = 'pYThon proGramminG laNguAge'

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

str.swapcase(): nagybetűket kisbetűvé, kisbetűket nagybetűvé konvertálja

Cserélje fel a kis- és nagybetűket.

s_org = 'pYThon proGramminG laNguAge'

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

Nagy- és kisbetűk meghatározása

A következő példákban a metódusokat közvetlenül a string literálokból hívjuk meg, mint például a 'python', de ugyanez igaz akkor is, ha változókban tároljuk, mint az előző példákban.

str.isupper(): meghatározza, hogy minden betű nagybetűs-e

Az isupper() igazat ad vissza, ha legalább egy nagybetűs karaktert tartalmaz, és ezek mindegyike nagybetűs, egyébként pedig hamisat.

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

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

Ha a karakter nagy- és kisbetű-érzékeny, akkor még a dupla bájtos karakterek is elbírálásra kerülnek.

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

Ha akár egyetlen nagy- és kisbetű-érzékeny karakter is szerepel, a nagy- és kisbetű-érzékeny karaktert figyelmen kívül hagyja, de ha egyetlen nagy- és kisbetű-érzékeny karakter sem szerepel (minden karakter nagy- és kisbetű-érzékeny), a döntés hamis.

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

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

str.islower(): annak meghatározása, hogy minden karakter kisbetűs-e

Az islower() igazat ad vissza, ha legalább egy kisbetűs karaktert tartalmaz, és ezek mindegyike kisbetűs, egyébként pedig hamisat.

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

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

Ha a karakter nagy- és kisbetű-érzékeny, akkor még a dupla bájtos karakterek is elbírálásra kerülnek.

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

Ha akár egyetlen nagy- és kisbetű-érzékeny karakter is szerepel, a nagy- és kisbetű-érzékeny karaktert figyelmen kívül hagyja, de ha egyetlen nagy- és kisbetű-érzékeny karakter sem szerepel (minden karakter nagy- és kisbetű-érzékeny), a döntés hamis.

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

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

str.istitle(): Meghatározza, hogy az eset cím eset-e.

Az istitle() true-t ad vissza, ha a karakterlánc egy title case (a szó első betűje nagybetűs, a többi kisbetűs), egyébként false.

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

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

Ha nagy- és kisbetű-érzékeny karaktereket tartalmaz, akkor hamis lesz, ha a nagy- és kisbetű-érzékeny karakterek előtt kisbetű áll.

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

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

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

Vegyük észre, hogy nem sok olyan karakterlánc van, mint a fenti példában, de reális, hogy a rendszámok és más esetek számokat is tartalmaznak.

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

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

Ha nem tartalmaz nagy- és kisbetű-érzékeny karaktereket (minden karakter nagy- és kisbetű-érzéketlen), false.

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

A karakterláncok összehasonlítása a nagy- és kisbetűket nem figyelembe véve

A karakterláncok összehasonlításakor a különböző nagy- és kisbetűket nem tekintjük egyenértékűnek.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

Ha a nagy- és kisbetűket nem figyelembe vevő összehasonlítást szeretne végezni, akkor az upper() vagy az lower() parancsot használhatja a kettő átalakítására és összehasonlítására.

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

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

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

print(s1.title() == s2.title())
# True
Copied title and URL