← retour aux snippets

str.casefold: comparaison unicode insensible à la casse

Comparer des chaînes unicode de manière robuste (i18n).

python text #str#casefold#i18n

objectif

Comparer des chaînes unicode de manière robuste (i18n).

code minimal

a = "Straße"
b = "STRASSE"
print(a.casefold() == b.casefold())  # attendu: True

utilisation

def equals_ci(x: str, y: str) -> bool:
    return x.casefold() == y.casefold()
print(equals_ci("École", "ecole") is True or equals_ci("école","ECOLE") is True)

variante(s) utile(s)

print("ß".casefold() == "ss")

notes

  • casefold est plus agressif que lower; adapté aux comparaisons Unicode.
  • Combinez avec normalisation unicode si nécessaire.