Ruby on Rails gsub不起作用

时间:2018-01-24 10:05:31

标签: ruby-on-rails ruby

            txt = "I'm happy :)"     #This is input from user
            txt = txt.gsub("'","\\'")
            raise :test

我得到了"我很高兴:)很高兴:)"

我想得到这个字符串变量' s值是"我很高兴:)" (用一个反斜杠)

我正在使用Rails。我会使用这个字符串变量参数来解决这种情况我无法使用" puts"方法。我尝试了很多方法(%W(...),%(...))来解决,但我还没有。

1 个答案:

答案 0 :(得分:1)

\'被解释为匹配右侧的字符串,因此它正在做它应该做的事情(参见regex match context)。

做你想做的事情

gsub("'","\\\\'"}

gsub("'") { |s| "\\'" }