4

我在 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是正确的方法,所以我愿意尝试几乎任何能得到我想要的结果的方法。

4

2 回答 2

3

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

\' 表示 $' ,即比赛后的所有内容。再次转义 \ 并且它可以工作

看到这个答案

这行得通吗?

"this doesn't work".gsub /'/, '\\\\\'' => "this doesn\\'t work"
于 2011-06-27T22:04:39.217 回答
0

您必须转义 \ 和 '。当您需要结果中的 ' 时,为什么不使用 " 定义结果

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

\ 无论如何都必须转义。

于 2011-06-27T22:18:04.733 回答