2009年03月15日

正規表現で数値を3桁毎のカンマ区切り形式に変換(Ruby編)

正規表現で数値を3桁毎のカンマ区切り形式に変換(Ruby編)

text = "12345678901234567"
puts text.gsub(/(\d)(?=(\d{3})+(?!\d))/, '\1,')

//↓
//12,345,678,901,234,567
//になります。
//参照:
//http://www.ruby-lang.org/ja/man/html/_C0B5B5ACC9BDB8BD.html#a.a5.b5.a5.f3.a5.d7.a5.eb
posted by 台北猫々 at 21:45| Comment(2) | TrackBack(0) | 技術メモ(Ruby)
この記事へのコメント
こんなんどうすっか?

text.reverse.scan(/\d{3}|.$/).reverse.join(',')

こちらのほうが直感的のような気が。。。
Posted by self-referenece engine at 2013年10月16日 16:27
まちがいた

text.reverse.scan(/\d{3}|.$/).join(",").reverse
Posted by self-referenece engine at 2013年10月16日 16:35
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/27606059

この記事へのトラックバック