• ベストアンサー

数字(小数点付き)の取り出し方

diszoの回答

  • ベストアンサー
  • diszo
  • ベストアンサー率78% (32/41)
回答No.3

No2です。 (1)についてですが、 カンマが一つという決まりがあるのであれば 以下の正規表現で取れます ([+|-]?\d+,?\d+.\d+) ただし、抜き取っても「,」が入ってしまうため、 文字列になってしまいます。その後の計算ができません。 ちょっと考え方を変えて、 「>"何らかの文字列"円」で正規表現を書き、 その後で、数値として認識できるように「,」を取り除いてみてはいかがでしょうか 以下のような感じになるかなと思います。 while( my $line = <$file_handle> ){   if( $line =~ />(.*)円/ ){     $result = $1;     $result =~ s/,//g; #,を取り除きます。   } } (2)についてですが my ( $year, $month, $day, $hour, $min ); if( $line =~ /(¥d+)年(¥d+)月(¥d+)日 (¥d+):(¥d+)/ ){   $year = $1;   $month = $2;   $day = $3;   $hour = $4;   $min = $5; } で各値を取得できると思います。

miruha2011
質問者

お礼

ありがとうございます。 大変助かりました。 お陰さまでやりたいことが実現できました。

関連するQ&A

  • 数字を抜き出す

    <td>3,383円</td> <td>3,321円</td> <td>-30円</td> <td>4,368円</td> <td>4,179円</td> <td>+7円</td> 上記のような文字列から金額のみを取り出して表示したいのですが $text=substr($text, a, b); として取出しが出来ましたが 特に3行目と6行目は桁数が変わることがあり 0だったり+100だったり-10だったりで 桁数が変わると正確な取り出しが出来ません。 初心者なのでご教授頂きたいのですがよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • セル内の数字も混じった文字列から特定パターンの数字列を取り出す

    またまたお世話になります。  (1)セル内に1つまたは2つのハイフンでつながる数字列を含む文字列(ブランクも含みます)がある場合にそこからその数字列のみを取り出す方法をアドバイス願います。  例 cを文字、xを数字(最大7桁)とします。 セル内の文字列 cccccc cccc cccc xxxxxxx-xx-x ccccccc cccc cccc からxxxxxxx-xx-x を取り出して文字列として別のセルに置く方法です。 (2) もしこのxxxxxxx-xx-x が[ と ] で囲まれていた場合はもう少し容易になりますか?  よろしくお願いします。  

  • 小数点以下の数字の出現

    お尋ね致します。エクセル2013を使っています。 次の関数を作りました。 =IF(Q266="b",V266-U266,U266-V266)*100 すると、U,V列には小数点以下3桁までの数字しか入力していないのですが、この関数の欄には、小数点14桁くらいまでの変な数字が出現してしまいます。例えば、5のはずが4.99999999999875とかになります。 別の列にこの答えが5なら...というような関数を入れたのに、TRUE FALSEが正しく返って来ないので気が付きました。ここで作業が止まってしまい、困っています。 これはなぜなんでしょうか? 説明、伝わってますでしょうか? 補足が必要でしたらご教示ください。

  • 浮動小数点の小数点3桁を。。。

    宜しくお願いします。C言語を使い三角関数の計算を行っております。小数点3位以下は四捨五入にしたいのですが、そのような関数が有りますでしょうか? 環境はQuickC(MSDOS)です。 もしなければ文字列にでも変換し直して行うのでしょうか?一般的な方法など御在ましたらお教え下さい。 宜しくお願いします。

  • 文字だけ残して数字だけ消す

    Excel2003 VBAで文字だけを残して数字だけを消す方法を色々と考えたのですが 上手くマクロが作れずにおります。 例として、 A列    B列  C列 7月1日  東京  ABCDEF123456GHIJK のような、C列の部分のみ、文字と文字の間にある数字の部分だけを消したいのです。 理想的な結果としては 7月1日 東京 ABCDEFGHIJK という状態にしたいのですが可能でしょうか? ctrl+Gでは、全部消えてしまって困っています。 以上、宜しくお願いします。

  • 一太郎11で、小数点数字を一文字に変換したいのですが・・・。

    例えば『0.1』という数字の打ち込みで、一文字として書き込みをする場合の事です。。 横組打ちの文章でしたら簡単に「変換スペースキー」で一文字に出来るのですが、縦組みの文章では『0.1』の数字が一文字にすると横向き文字になってしまうのですよね。 要するに縦組の文章で『0.1』をそのまま一文字として文章に入れたいのですが・・・。 どなたかいい方法を教えていただけないでしょうか? よろしくお願いいたします。

  • 数字を文字列に変換し短縮化する

    質問させて頂きます。 1234567 などの数字を f3ad5 などのようにa-zも交えて 文字列の短縮化をしたいのですがそのようなperl関数または式などありますでしょうか。 文字列を再び数字に戻せるよう、可逆性も考慮したものが理想です。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • 半角数字かどうかの判定

    いつもお世話になっております。 VB6を使っているのですが、文字列が半角数字かどうかの 判定をしたいのですが、何かいい方法はないでしょうか? どうかよろしくお願いいたします。

  • 正規表現で全角数字を半角数字に置換する方法は?

    いつもお世話になっております。 テキスト内の全角数字5桁のみを該当の半角数字5桁に置換する方法を探しています。 OS:Win テキストエディタ:sakuraエディタ、秀丸 例) ---------------------------------------- あいうえお01234かきくけこ99さしすせそ ↓ あいうえお01234かきくけこ99さしすせそ ---------------------------------------- 正規表現で行えばいいと思い、置換文字列を  [0-9][0-9][0-9][0-9][0-9] あるいは  [0-9]{5} にしましたが、置換後の文字列が分かりません。 試しに検索で上記の文字列を試すと、該当箇所がマークされるので、 置換前の文字列は合っています。 置換後の文字列をご教授願えますでしょうか。 ※テキストエディタで無理ならプログラム組みます。 VBScriptを考えていますが、他に良い言語があれば併せて教えてください。

  • 九九の表において5の数字にする方法教えてください。

    九九の表において5の数字にする方法教えてください。 <?php echo "<tr bgcolor='#99FF99'>"; echo "<td></td>"; for( $i=1; $i <= 9; $i++ ){ echo "<font size=6>$i</font></td>"; } echo "$i</tr>\n"; for( $i=1; $i <= 9; $i++ ){ echo "<tr><td bgcolor='#99FF99'>" . $i . "</td>"; for( $j=1; $j<=9; $j++ ){ $atai = $i * $j; echo "<td>" . $atai . "</td>"; } echo "</tr>\n"; } ?>

    • 締切済み
    • PHP