うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

Rubyで全角半角を判定

スポンサーリンク

正規表現を利用して、文字列に半角文字が存在するか、全角文字が存在するかを判定します。

半角文字が含まれるか判定

str =~ /[ -~。-゚]/

半角スペースからチルダ(-~)までがASCII。。-゚には半角カタカナも含まれています。 例えば下のようにマッチさせることが出来ます。

m = "アアア".match /^[ -~。-゚]+$/ # => #<MatchData "アアア">

全角文字が含まれるか判定

str =~ /[^ -~。-゚]/

半角文字の否定をとっているだけですね。