サーチ…


構文

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

パラメーター

パラメータ詳細
casefold=true Unicode規格に準拠したカノニカルケースに文字列を折りたたみます。
stripmark=true 入力文字列の文字から分音記号 (アクセント記号 )を取り除きます。

大文字と小文字を区別しない文字列の比較

Juliaでは文字 ==演算子と比較できますが、これは大文字と小文字の区別に敏感です。たとえば、 "Hello""hello"は異なる文字列と見なされます。

julia> "Hello" == "Hello"
true

julia> "Hello" == "hello"
false

大文字小文字を区別しない方法で文字列を比較するには、まず文字列を大文字に変換して正規化します。例えば、

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

このアプローチでは、非ASCII Unicodeも正しく処理されます。

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

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

ドイツ語では、大文字のβ文字はSSであることに注意してください。

発音区別符号を区別しない文字列の比較

時には、 "resume""résumé"ような文字列が等しいと比較することが必要な場合もあります。つまり、 書記素の基本的なグリフを共有しますが、おそらく、これらの基本的なグリフへの追加の異なります。そのような比較は、分音記号を取り除くことによって達成することができる。

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

これにより、上記の例が正しく動作するようになります。さらに、非ASCII Unicode文字でもうまく動作します。

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

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


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow