String casefold() em Python

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())  # TrueLinguagem de código:  PHP  ( php )

Saída:

False
False
TrueLinguagem de código:  PHP  ( php )

Como funciona.

A seguinte expressão é retornada Falseporque o lower()método não faz nada ao pé da letra 'ß':

color1.lower() == color2.lower()

Entretanto, a comparação a seguir retorna Trueporque o casefold()método retorna uma cópia da color2string 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *