藤岡です。 なるほど、ありがとうございました。 希望どおりの結果になりました。 ブロックのほうが見安くてきれいですね。 Akihito Tsukamoto wrote: > 塚本です。 > > keiichi matsunagaさんの<439649a0.4529%ma2 / lifemedia.co.jp>から > >>|str.gsub(/[%$_^]/,"\\#{$1}") といった感じにやって >> >> マニュアルよると,置換文字列には「$数字」は使えないけど「\数字」は使 >>えるみたいですね。 >> >>irb(main):027:0> str.gsub(/[%$_^]/,'\\ \\1') >>=> "abc\\ %def\\ $ghi\\ _jkl\\ ^mno" >> >>irb(main):028:0> str.gsub(/([%$_^])/,'\\\\1') >>=> "abc\\1def\\1ghi\\1jkl\\1mno" >> >> あれ'\\\\1'にするとうまくいかないのはなぜだろう。「\\\\」→「\\」の >>エスケープが優先されちゃうから? > > > str.gsub(/([%$_^])/,'\\\\\\1') > とすれば、いけますね。 > > str.gsub(/([%$_^])/){"\\#$1"} > の方が見やすいかも。 > > http://www.ruby-lang.org/ja/man/?cmd=view;name=trap%3A%3A%5C%A4%CE%B1%C6%B6%C1 > を参考にしました。 >