dポイントプレゼントキャンペーン実施中!

こんにちは。
当方Ruby初心者です。

HTMLからの正規表現による文字列の取得のプログラムを組んでいたのですが、
分からない所があったため質問させていただきました。

やりたいことは、以下の数字の文字列の後ろにそれぞれ「株」と「,000円」という文字を追加することです。
全ての数字の後ろに株、もしくは,000円を追加する事はできるのですが、個別に追加することができません。
どうかお力添えをお願いいたします。

前事業年度銘   柄株式数(株)貸借対照表計上額(千円)保有目的
 株式会社エイチーム200,400円株722,442 関係強化
 株式会社ケイブ15015,900 関係強化
 
当事業年度銘   柄株式数(株)貸借対照表計上額(千円)保有目的
 株式会社エイチーム125,300697,921 関係強化
 株式会社ケイブ5,0008,475 関係強化


以下プログラムです。
if text.match('株式数(株) 貸借対照表計上額(千円)')
28 text.gsub!(/\d[0-9]*?,\d[0-9]+|\d[0-9]+/) {$&.concat('株')}
29 text.gsub!(/\d[0-9]*?,\d[0-9]+|\d[0-9]+/) {|s1| s1.concat('株')}
30 else if text.match('株式数(1000株)')
31 text.sub!(/\d[0-9]+,\d[0-9]+/) {|s| s.concat(',000株')}
32 end
33 end
34 print text

A 回答 (1件)

gsubで数字の後に「株」を付けているので全部に付きます。


特定の所だけに付けたいのなら、その特定の所をピンポイントで選択する正規表現を書いて、subで置換してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!