Resumo : neste tutorial, você aprenderá como usar o casefold()
método de string Python para realizar uma comparação de string sem distinção entre maiúsculas e minúsculas.
Introdução ao método casefold() de string Python
O método string do Python casefold()
retorna uma cópia dobrada da string .
Casefolding é como baixar case. No entanto, casefolding é mais agressivo porque seu objetivo é remover todas as distinções de maiúsculas e minúsculas em uma string.
Se você usar texto puramente ASCII, os métodos lower()
e casefold()
retornarão o mesmo resultado.
No entanto, se você lidar com caracteres Unicode, o casefold()
método retornará um resultado mais preciso que o lower()
método.
Por exemplo, a letra 'ß'
na Alemanha é equivalente a 'ss'
. Se você usar o lower()
método, o resultado será 'ß'
porque a letra 'ß'
já está minúscula.
No entanto, se você chamar o casefold()
método na string 'ß'
, ele retornará o 'ss'
.
Por esse motivo, você deve usar o método string casefold()
para realizar comparações de strings que não diferenciam maiúsculas de minúsculas para obter um resultado mais preciso.
Exemplo de método casefold() de string Python
O exemplo a seguir ilustra como usar os métodos lower()
e casefold()
para comparar strings sem distinção entre maiúsculas e minúsculas:
color1 = 'weiß'
color2 = 'weiss'
print(color1 == color2) # False
print(color1.lower() == color2.lower()) # False
print(color1.casefold() == color2.casefold()) # True
Linguagem de código: PHP ( php )
Saída:
False
False
True
Linguagem de código: PHP ( php )
Como funciona.
A seguinte expressão é retornada False
porque o lower()
método não faz nada ao pé da letra 'ß'
:
color1.lower() == color2.lower()
Entretanto, a comparação a seguir retorna True
porque o casefold()
método retorna uma cópia da color2
string com a letra 'ß'
convertida para'ss'
Resumo
- Use o método string
lower()
para realizar comparações de strings sem distinção entre maiúsculas e minúsculas para strings com caracteres ASCII. - Use o método string
casefold()
para realizar comparações sem distinção entre maiúsculas e minúsculas para strings com caracteres Unicode.