Recherche…


Syntaxe

  • normalize_string (s :: String, ...)

Paramètres

Paramètre Détails
casefold=true Pliez la chaîne dans un boîtier canonique basé sur la norme Unicode .
stripmark=true Supprimez les marques diacritiques (c.-à-d. Les accents) des caractères de la chaîne d'entrée.

Comparaison de chaînes insensible à la casse

Les chaînes peuvent être comparées avec l' opérateur == dans Julia, mais ceci est sensible aux différences de casse. Par exemple, "Hello" et "hello" sont considérés comme des chaînes différentes.

julia> "Hello" == "Hello"
true

julia> "Hello" == "hello"
false

Pour comparer des chaînes de manière insensible à la casse, normalisez les chaînes en les pliant au préalable. Par exemple,

equals_ignore_case(s, t) =
    normalize_string(s, casefold=true) == normalize_string(t, casefold=true)

Cette approche gère également les Unicode non-ASCII correctement:

julia> equals_ignore_case("Hello", "hello")
true

julia> equals_ignore_case("Weierstraß", "WEIERSTRASS")
true

Notez qu'en allemand, la forme majuscule du caractère ß est SS.

Comparaison diacritique-insensible aux cordes

Parfois, on veut des chaînes comme "resume" et "résumé" pour comparer. Autrement dit, les graphèmes qui partagent un glyphe de base, mais peuvent différer en raison des ajouts à ces glyphes de base. Une telle comparaison peut être effectuée en éliminant les marques diacritiques.

equals_ignore_mark(s, t) =
    normalize_string(s, stripmark=true) == normalize_string(t, stripmark=true)

Cela permet à l'exemple ci-dessus de fonctionner correctement. En outre, il fonctionne bien même avec des caractères Unicode non-ASCII.

julia> equals_ignore_mark("resume", "résumé")
true

julia> equals_ignore_mark("αβγ", "ὰβ̂γ̆")
true


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow