Rails4の正規表現で全角半角スペースをマッチさせる
正規表現でホワイトスペースをマッチさせる時は、大方の場合”\s”を使用します。
全角スペースも一致させたい場合は、”[\s| ]”とか書きますよね。
そんな時に便利な書き方がrubyでは用意されています。
それでは全角と半角のスペースを混在する文字列から削除してみます。
[1] pry(main)> hoge = " 全角と 半角の スペースが混在 "
=> " 全角と 半角の スペースが混在 "
[2] pry(main)> hoge.gsub(/[\s| ]+/, '')
=> "全角と半角のスペースが混在"
[3] pry(main)> hoge.gsub(/[[:blank:]]+/, '')
=> "全角と半角のスペースが混在"
2行目は通常の正規表現で削除、3行目はPOSIX文字クラスを使用して削除しました。
”[[:blank:]]”はスペースとタブを削除してくれます。
POSIX文字クラスは他にもありますので、代替で使用できる場合はこちらの方が表記がシンプルになるのでいいかなと思います。