3
「これは私の{foo}文字列です」という文字列があります。Rubyとgsubを使用して中括弧(角かっこを含む)内の文字を文字列に置き換えます。
私はいくつかの操作量と中括弧などの内容を置換する:
「これは私のFOOの文字列である」
私がここまで持っている:
result = mystring.gsub(/\{(.*?)\}/){|m| m.upcase}
しかし、これを「これは私の{FOO}文字列です」を返します。つまり、中括弧はまだそこにあります。
中括弧も置き換えられるように、正規表現のフレーズはどのようにしますか?
ありがとう - ありがとう –
Seppが言っていることを最も遠くに受けていますか? gsubは各キャプチャグループを歩きながら$ 1、$ 2、$ 3にダンプします。 Rubyが正規表現を解析するとき、特殊変数として$ numbを使用します。 – Braden
ええ、ありがとう - できます result = mystring.gsub(/ \ {(。*?)\} /){| m | m = $ 1.upcase} または単に 結果= mystring.gsub(/\{(.*?)\ }/){$ 1.upcase} –