LoginSignup
0
0

More than 5 years have passed since last update.

Ruby で全角英数字を半角英数字に変換する

Posted at

全角英数字だけではなく、半角カタカナなど文字種の揺れを修正したい。

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

0
0
0

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
0
0