Ruby 全角半角変換 - eiichiromomma/CVMLAB GitHub Wiki

(Ruby) 全角半角変換

アルファベッドの半角⇔全角変換を行なう。

文字の置換

Stringクラスのtrメソッドを使うのだが、

#!/usr/local/bin/ruby
str="abcあいうえお"
str=str.tr('a-zA-Z','a-zA-Z')
print str

とすると文字化けする。 trは1バイト文字しか考慮していないためである。

ruby-jcodeモジュールの利用

ruby-jcodeモジュールを使うと2バイト文字に対応してくれる。

#!/usr/local/bin/ruby
$KCODE='e'
require "jcode"
str="abcあいうえお"
str=str.tr('a-zA-Z','a-zA-Z')
print str

とすればよい。(eucの場合)