Suche…


Syntax

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

Parameter

Parameter Einzelheiten
casefold=true Falten Sie die Zeichenfolge zu einem kanonischen Fall, der auf dem Unicode- Standard basiert.
stripmark=true Entfernen Sie diakritische Zeichen (dh Akzente) von Zeichen in der Eingabezeichenfolge.

String-Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung

Zeichenfolgen können mit dem Operator == in Julia verglichen werden. Dies ist jedoch abhängig von den Unterschieden. Zum Beispiel werden "Hello" und "hello" als unterschiedliche Zeichenfolgen betrachtet.

julia> "Hello" == "Hello"
true

julia> "Hello" == "hello"
false

Um Zeichenfolgen unabhängig von der Groß- und Kleinschreibung zu vergleichen, normalisieren Sie die Zeichenfolgen, indem Sie sie zuerst mit der Groß- / Kleinschreibung falten. Zum Beispiel,

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

Dieser Ansatz behandelt auch Nicht-ASCII-Unicode korrekt:

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

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

Beachten Sie, dass in Deutsch die Großbuchstaben des ß-Zeichens SS ist.

Vergleich der diakritischen Zeichenfolgen

Manchmal möchte man Zeichenfolgen wie "resume" und "résumé" gleich vergleichen. Das heißt, Grapheme , die eine grundlegende Glyphe verwenden, sich aber möglicherweise aufgrund von Hinzufügungen zu diesen grundlegenden Glyphen unterscheiden. Ein solcher Vergleich kann durch Abziehen diakritischer Markierungen erreicht werden.

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

Dadurch kann das obige Beispiel korrekt funktionieren. Darüber hinaus funktioniert es auch mit Nicht-ASCII-Unicode-Zeichen.

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

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow