数字を取り出す方法はいろいろあるけど・・・
正規表現で抜き出すとよりも、数字以外を消したほうが速いって事に気づいた。今までの自分は何をしてたんだろうと泣きそうになる。
"¥12,000".gsub(/[^\d]/, "").to_i #=> 12000
これで簡単に、いままで何をしてたんだろうと本当に。。。(泣く
"2014-12-22".gsub(/[^\d]/, "") # => 20141222 "2014 12/22".gsub(/[^\d]/, "") # => 20141222
あああ、本当に今まで何やってたんだろうな。。。
正規表現で数字以外を消せばいいのかぁ。ついつい、split / join したり、replaceで区切り文字列消したり、scanf系で抜いたり、grep でマッチ部分取り出したり、などしてしまうよね。あぁ馬鹿だ。
マイナス残したい時だって
"¥ -12,000".gsub(/[^\d\-]/, "").to_i #=> -12000
これは、楽・・・
php でも 同じですね。
<?php echo preg_replace("/[^\d]/","" ,"¥1,200(税抜)"); echo "\n"; echo preg_replace("/[^\d\-]/","" ,"¥-1,200"); echo "\n";
手抜き系、 parseInt
"64GB".to_i # => 64
parseInt("64GB") # => 64 parseInt("1200px") # => 1200
先頭文字が数字を表す文字列なら、parseint にかけてしまえば js / ruby などでも簡単だった。