全角英数字だけではなく、半角カタカナなど文字種の揺れを修正したい。
Moji モジュールを利用してみる。
・namespace gimite
・Ruby小物集
・Moji モジュール
サンプル
Windows XP 上で実行。文字コードを変換しているのは、コマンドプロンプトに実行結果を表示させるため。
コード sample.rb
$KCODE = 'u';
require 'moji'
require 'nkf'
string = 'ABCDEFG-!? kakikukeko あいうえおアカサタナ123456'
str_1 = Moji.zen_to_han(string, Moji::ZEN_ALPHA)
puts NKF.nkf('-s', str_1)
str_2 = Moji.han_to_zen(str_1, Moji::HAN_KATA)
puts NKF.nkf('-s', str_2)
str_3 = Moji.zen_to_han(str_2, Moji::ZEN_ASYMBOL)
puts NKF.nkf('-s', str_3)
str_4 = Moji.zen_to_han(str_3, Moji::ZEN_NUMBER)
puts NKF.nkf('-s', str_4)
実行結果。
C:>ruby "test.rb"
ABCDEFG-!? kakikukeko あいうえおアカサタナ123456
ABCDEFG-!? kakikukeko あいうえおアカサタナ123456
ABCDEFG-!? kakikukeko あいうえおアカサタナ123456
ABCDEFG-!? kakikukeko あいうえおアカサタナ123456