Lista över strängmetoder för att manipulera stora och små bokstäver i Python

Företag

Pythons strängtyp (str) har som standard praktiska metoder för att hantera stora och små bokstäver. Du kan konvertera mellan stora och små bokstäver och bestämma stor- och småbokstäver.

Här finns följande information.

  • Konvertering mellan stora och små bokstäver
    • Grundläggande användning
    • Hantering av tecken i fullstorlek och halvstorlek
    • str.upper()Konvertera alla bokstäver till versaler
    • str.lower()Konvertera alla bokstäver till små bokstäver
    • str.capitalize()Konvertera den första bokstaven till versaler och resten till små bokstäver.
    • str.title()Konvertera den första bokstaven i ett ord till versaler och resten till små bokstäver.
    • str.swapcase()Konvertera stora bokstäver till små bokstäver och små bokstäver till stora bokstäver.
  • Bestämma stora och små bokstäver
    • str.isupper(): Bestäm om alla bokstäver är versaler.
    • str.islower(): Bestäm om alla tecken är små bokstäver.
    • str.istitle(): Bestäm om det rör sig om ett titelfall.
  • Jämför strängar på ett sätt som inte tar hänsyn till stor- och småbokstäver.

Konvertering mellan stora och små bokstäver

Grundläggande användning

Först ska jag förklara den grundläggande användningen. Vi kommer att använda upper()-metoden för att skriva alla bokstäver med versaler som exempel, men samma sak gäller för andra metoder.

För enkelhetens skull skriver vi ”konvertering”, men i Python kan strängobjekt (str) inte uppdateras, så den ursprungliga strängen (s_org i exemplet) ändras inte.

s_org = 'pYThon proGramminG laNguAge'

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

print(s_org)
# pYThon proGramminG laNguAge

Om du vill använda den konverterade strängen senare kan du lagra den i en ny variabel på följande sätt.

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

Det är också möjligt att skriva över den ursprungliga variabeln.

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

Hantering av tecken i fullstorlek och halvstorlek

Om ett tecken är skiftlägeskänsligt, t.ex. alfabetet, konverteras det till både single-byte- och double-byte-te-tecken.

Tecken som inte är skiftlägeskänsliga, t.ex. siffror och kinesiska tecken, förblir oförändrade. Exemplet gäller upper(), men samma sak gäller för andra metoder.

s_org = 'Pyhon Python 123'

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

str.upper(): omvandlar alla bokstäver till versaler

s_org = 'pYThon proGramminG laNguAge'

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

str.lower(): omvandlar alla tecken till små bokstäver

s_org = 'pYThon proGramminG laNguAge'

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

str.capitalize(): konvertera den första bokstaven till versaler, resten till små bokstäver.

s_org = 'pYThon proGramminG laNguAge'

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

str.title(): konvertera den första bokstaven i ett ord till versaler och resten till gemener.

Omvandling till ett s.k. title case.

s_org = 'pYThon proGramminG laNguAge'

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

str.swapcase(): omvandlar stor bokstav till liten bokstav, liten bokstav till stor bokstav

Byt ut stora och små bokstäver.

s_org = 'pYThon proGramminG laNguAge'

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

Bestämma stora och små bokstäver

I följande exempel anropas metoderna direkt från stränglitteraler som ”python”, men samma sak gäller när de lagras i variabler som i de tidigare exemplen.

str.isupper(): bestämmer om alla bokstäver är versaler

isupper() returnerar sant om den innehåller minst ett tecken som är skiftlägeskänsligt och alla är stora bokstäver, och falskt i annat fall.

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

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

Om tecknet är skiftlägeskänsligt bedöms även dubbla byte-te-tecken.

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

Om även ett enda tecken som är skiftlägeskänsligt ingår ignoreras det skiftlägeskänsliga tecknet, men om inget skiftlägeskänsligt tecken ingår (alla tecken är skiftlägeskänsliga) är beslutet falskt.

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

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

str.islower(): bestämmer om alla tecken är små bokstäver

islower() returnerar sant om den innehåller minst ett tecken som är känsligt för stora bokstäver och alla är små bokstäver, och falskt i annat fall.

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

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

Om tecknet är skiftlägeskänsligt bedöms även dubbla byte-te-tecken.

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

Om även ett enda tecken som är skiftlägeskänsligt ingår ignoreras det skiftlägeskänsliga tecknet, men om inget skiftlägeskänsligt tecken ingår (alla tecken är skiftlägeskänsliga) är beslutet falskt.

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

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

str.istitle(): Bestäm om fallet är ett titelfall.

istitle() returnerar true om strängen är en titelbokstav (den första bokstaven i ordet är stor bokstav, resten är små bokstäver), false annars.

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

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

Om det innehåller tecken som inte kan särskiljas kommer det att vara falskt om de tecken som inte kan särskiljas föregås av en liten bokstav.

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

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

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

Observera att det inte finns så många strängar som i exemplet ovan, men det är realistiskt att inkludera siffror i ordinaltal och andra fall.

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

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

Om inga skiftlägeskänsliga tecken ingår (alla tecken är skiftlägeskänsliga), false.

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

Jämför strängar på ett sätt som inte tar hänsyn till stor- och småbokstäver.

När strängar jämförs anses olika stora och små bokstäver inte vara likvärdiga.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

Om du vill göra en jämförelse som inte tar hänsyn till stor- och små bokstäver kan du använda upper() eller lower() för att konvertera de två och jämföra dem.

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