LoginSignup
17
19

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-09-01
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

17
19
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
19