gsub 允许在 gsub 中使用双引号

gsub allowing double quotations inside gsub

我有这个

self.description.gsub! 'iframe', 'iframe id="myid" '

当我保存时它会输出:

iframe id=\"myid\"

但我不想在每个 "

之前使用反斜杠 \

我该怎么做?

如何允许 2 x " 进入?

不知道你是不是运行 IRB里面的,不过有时候你得打印出来看看字符串长什么样:

tiago@lenovo:~$ irb
2.3.0 :001 > str = "frame"
 => "frame" 
2.3.0 :002 > str.gsub('frame','iframe id="myid"')
 => "iframe id=\"myid\"" 
2.3.0 :003 > puts str.gsub('frame','iframe id="myid"')
iframe id="myid"
 => nil

请注意,gsub 的返回值转义了双引号,但这是因为整个字符串都被双引号括起来了,打印出来的值是不同的。