Como Converter String em Caixa Baixa em Python 2 e 3
Converter string em minúsculas em Python 3
str
desde que Python 3.0 contém por padrão caracteres Unicode
, significando que qualquer string como "unicode example"
, 'unicode example 2'
é armazenada como Unicode
.
Portanto, você poderia utilizar str.lower()
para converter qualquer string em minúsculas no Python 3.
exampleString = "CaseString"
exampleString.lower()
# Out: 'casestring'
exampleString = "СтрокаСлучая"
exampleString.lower()
# Out: 'строкаслучая'
str.casefold()
conversão sem cas
str.lower()
converte a string para minúsculas, mas não converte as distinções de caixa na string.
Por exemplo, ß
em alemão é igual a s
- ss
, e ß
em si já é minúscula, portanto, str.lower()
não irá convertê-la.
Mas str.casefold()
irá converter ß
para ss
.
>>> 'Straße'.lower()
'straße'
>>> 'Straße'.casefold()
'strasse'
Converter string para minúsculas em Python 2.7
str
em Python 2.7 não é armazenado como Unicode
, e Unicode
strings são instâncias do tipo unicode
. Devemos distinguir se a string é uma string ASCII
ou uma string unicode
quando convertemos a string em minúsculas.
ASCII
tipo
É o mesmo com o método utilizado em Python 3. str.lower()
converte a string para minúsculas.
exampleString = "CaseStringExample"
exampleString.lower()
# Out: 'casestringexample'
unicode
tipo
Se os caracteres na string são do tipo Unicode
, e a string não é explicitamente representada no tipo Unicode
, o método str.lower()
não converte a string para minúsculas.
# python 2.x
exampleString = "СтрокаСлучая"
print exampleString.lower()
#Out: СтрокаСлучая
exampleString.lower() == exampleString
#Out: True
Objetos Python para bytes não-ASCII em uma string sem codificação dada porque a codificação pretendida está implícita.
Usando Unicode
literal, mas não str
.
exampleUnicodeString = u"СтрокаСлучая"
exampleUnicode
# u'\u0421\u0442\u0440\u043e\u043a\u0430\u0421\u043b\u0443\u0447\u0430\u044f'
exampleUnicodeString.lower()
# u'\u0441\u0442\u0440\u043e\u043a\u0430\u0441\u043b\u0443\u0447\u0430\u044f'
print exampleUnicodeString.lower()
# Out: строкаслучая
Você pode ver aqui que o primeiro caractere da string é convertido de \u0421
para \u0441
.
Converter um str
para unicode
Se a string dada estiver na forma de str
, precisamos primeiro convertê-la para Unicode
antes da conversão em minúsculas.
exampleString = "СтрокаСлучая"
print exampleString.decode("utf-8").lower()
# Out: строкаслучая
Conclusão
O método lower()
é o método para converter string para minúsculas tanto em Python 2 como em Python 3, mas com uma diferença perceptível.
string em Python 3 é a string unicode
por padrão, mas string em Python 2 não é. Se a string não é explicitamente representada para ser do tipo unicode
, por exemplo não colocando u
antes da string, a string unicode não será convertida para minúsculas.
O str.casefold
converte as distinções de caixa para suas combinações sem caixa, mas só está disponível em Python 3. Você poderia instalar py2casefold em Python 2.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook