nkfを使ってひらがな、カタカナ(全角・半角)間の変換行う

More than 1 year has passed since last update.


string_kana_extention.rb

class String

require 'nkf'

# NOTE require nkf 2.0.9 over

# convert from full(or half)-width katakana to hiragana.
def to_hiragana
# NOTE -w option is for utf8 output
NKF.nkf('-w --hiragana', self)
end

# convert from hiragana or half-width katakana to full-width katakana.
def to_katakana
NKF.nkf('-w --katakana', self)
end

# convert from hiragana or half-width katakana to half-width katakana.
def to_hw_katakana
# At first, convert to full-width katakana,
# and then convert to half-width hiragana.
NKF.nkf('-w -Z4', to_katakana)
end
end


それぞれの変換について、nkfを使って割と簡単にできました。さすがRubyです。

Stringクラスの拡張メソッドとしてまとめてみました。想定以外の文字列の場合は、そのまま出力されます(nkfの仕様に準拠)。また、出力はutf8になります。

後々Gemとかにもしていく予定。


References