使用Gsub逃避撇号

我在Ruby工作,我试图将'字符转义为\'以便我可以在SQL中使用它们。 我正在尝试使用gsub ,但它似乎没有用。

 "this doesn't work".gsub /'/, '\\'' #=> "this doesnt workt work" "this doesn't work".gsub /'/, '\\\'' #=> "this doesnt workt work" "this doesn't work".gsub /'/, '\\\\'' #=> "this doesn\\'t work" "this doesn't work".gsub /'/, '\\\\\'' #=> "this doesn\\'t work" 

我不知道gsub是否是正确使用的方法,所以我愿意尝试几乎任何可以获得我正在寻找的结果的东西。

由于Ruby正则表达式中的特殊含义/解释,其他人有这个问题。

\’意味着”这是比赛后的一切。 再次逃离\它的工作原理

看到这个答案 。

这有用吗?

 "this doesn't work".gsub /'/, '\\\\\'' => "this doesn\\'t work" 

你必须逃脱\和’。 当你需要’在结果中,为什么不用“定义结果”

 puts "this doesn't work".gsub /'/, "\\\\'" #=> "this doesn\'t work" 

\无论如何必须逃脱。