Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > unicode_normalize!

instance method String#unicode_normalize!

unicode_normalize!(form = :nfc) -> self[permalink][rdoc]

self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し た文字列に置き換えます。

(gsub!などと異なり)変換が行なわれなくても self を返します。

[PARAM] form:
正規化形式を :nfc、:nfd、:nfkc、:nfkd のいずれかで指定しま す。省略した場合は :nfc になります。
[EXCEPTION] Encoding::CompatibilityError:
self が Unicode 文字列ではない場合 に発生します。

例:

text = "a\u0300"
text.unicode_normalize!(:nfc)
text == "\u00E0"              # => true
text.unicode_normalize!(:nfd)
text == "a\u0300"             # => true

[SEE_ALSO] String#unicode_normalize, String#unicode_normalized?