Ricerca…


Sintassi

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

Parametri

Parametro Dettagli
casefold=true Piega la stringa in un caso canonico basato sullo standard Unicode .
stripmark=true Striscia segni diacritici (cioè accenti) da caratteri nella stringa di input.

Confronto tra stringhe senza distinzione tra maiuscole e minuscole

Le stringhe possono essere confrontate con l' operatore == in Julia, ma questo è sensibile alle differenze nel caso. Ad esempio, "Hello" e "hello" sono considerati stringhe diverse.

julia> "Hello" == "Hello"
true

julia> "Hello" == "hello"
false

Per confrontare le stringhe in modo non sensibile alla distinzione tra maiuscole e minuscole, normalizza le stringhe in base al caso, piegandole prima. Per esempio,

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

Questo approccio gestisce anche Unicode non ASCII correttamente:

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

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

Nota che in tedesco la forma maiuscola del carattere ß è SS.

Confronto tra stringhe insensibili ai diacritici

A volte, si vogliono stringhe come "resume" e "résumé" per confrontare lo stesso. Cioè, grafemi che condividono un glifo di base, ma forse differiscono a causa delle aggiunte a quei glifi di base. Tale confronto può essere ottenuto eliminando segni diacritici.

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

Ciò consente all'esempio sopra di funzionare correttamente. Inoltre, funziona bene anche con caratteri 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow