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.