- 更新日: 2015年6月23日
- Ruby
Rubyで文字列中の英数字の半角/全角を変換する
スポンサーリンク
Ruby で文字列に含まれる英字と数字を、半角から全角に&全角から半角に変換する処理を書きました。検索して調べたところ、NKF(Network Kanji code conversion Filter)を使う方法が多くヒットしたのですが、文字列中の英数字の変換が目的だったので、より簡単な String#tr メソッドを使う方法を採用しました。
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
スポンサーリンク
文字列中の英数字を半角/全角変換するメソッド
以下のようなメソッドを各々作成。
半角から全角に変換
1 2 3 |
def half_to_full(str) str.tr('0-9a-zA-Z', '0-9a-zA-Z') end |
全角から半角に変換
1 2 3 |
def full_to_half(str) str.tr('0-9a-zA-Z', '0-9a-zA-Z') end |
irb で動作確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$ irb irb> def half_to_full(str) irb> str.tr('0-9a-zA-Z', '0-9a-zA-Z') irb> end => :half_to_full irb> def full_to_half(str) irb> str.tr('0-9a-zA-Z', '0-9a-zA-Z') irb> end => :full_to_half irb> half_str = "こんにちは mike! 2015-06-22" => "こんにちは mike! 2015-06-22" irb> full_str = half_to_full(half_str) => "こんにちは mike! 2015-06-22" irb> full_str => "こんにちは mike! 2015-06-22" irb> full_to_half(full_str) => "こんにちは mike! 2015-06-22" |
上手いこと動いていますね。
- – 参考リンク –
- Ruby – 全角数字を半角数字に変換するお手軽な方法 – Qiita
- instance method String#tr
- [Ruby] 全角カタカナを半角カタカナに変換する – Qiita
- module NKF
スポンサーリンク
私は以下の本で Ruby を覚えました。メタプログラミングRubyは入門を超える内容で難しめです。
- Ruby の関連記事
- Gemの作り方(Ruby Gem)
- ローカル開発中のgemをGemfileに書いてインストール
- 熊本地震の余震が夜に多いのは本当か?Rubyプログラムで検証してみた
- El Capitanでgemのnative extensionビルド失敗に対応
- Rubyで親クラスから子クラスの定数を参照
- MacabをRubyで使う
- rbenv/ruby-buildでRuby最新バージョンをインストール
- Rubyでクラスインスタンス変数にインスタンスメソッドからアクセス
- 距離1kmあたりの緯度・経度の度数を計算(日本・北緯35度)
- Google Maps Geocoding APIで住所から緯度・経度を取得するRubyコード
- 初回公開日: 2015年6月22日
Leave Your Message!