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 versalerstr.lower()
Konvertera alla bokstäver till små bokstäverstr.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
- Hantering av tecken i fullstorlek och halvstorlek
- str.upper(): omvandlar alla bokstäver till versaler
- str.lower(): omvandlar alla tecken till små bokstäver
- str.capitalize(): konvertera den första bokstaven till versaler, resten till små bokstäver.
- str.title(): konvertera den första bokstaven i ett ord till versaler och resten till gemener.
- str.swapcase(): omvandlar stor bokstav till liten bokstav, liten bokstav till stor bokstav
- Bestämma stora och små bokstäver
- 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