PerlerのRuby日記

Rubyとか

シングルクオートをエスケープするだけの難解なお仕事

str = "hoge'fuga"
puts str.gsub(/'/, "\\'")
#=> hogefugafuga

???

参考

http://qiita.com/items/7a1b98c0e36e7d4e33e2

http://yyuto.blogspot.jp/2009/06/ruby.html

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/14752

できました。

str = "hoge'fuga"
puts str.gsub(/'/, '\\\\\0')
#=> hoge\'fuga

??????



おまけ

str = "hoge'fuga"
puts str.gsub(/'/, '\0')             #=> hoge'fuga
puts str.gsub(/'/, '\\0')           #=> hoge'fuga
puts str.gsub(/'/, '\\\0')         #=> hoge\0fuga
puts str.gsub(/'/, '\\\\0')       #=> hoge\0fuga
puts str.gsub(/'/, '\\\\\0')     #=> hoge\'fuga
puts str.gsub(/'/, '\\\\\\0')   #=> hoge\'fuga
puts str.gsub(/'/, '\\\\\\\0') #=> hoge\\0fuga