用字符串中的撇号替换单引号(Ruby)

Ser*_*off 6 ruby

我的用户有时输入'看起来像撇号()的符号而不是撇号(),这会导致数据库出现问题.

我试着gsub像这样替换它们:

result.gsub(/\‘/, "'")
result.gsub(/‘/, "'")
Run Code Online (Sandbox Code Playgroud)

这两个选项都不起作用 - 得到错误:

syntax error, unexpected $end, expecting ')'
  return result.gsub(/\‘/, "'").gsub("’", "'")
                          ^
Run Code Online (Sandbox Code Playgroud)

它们是由Ruby保留的吗?我该如何更换它们?

kip*_*ntt 7

如果您的文本编辑器不直接支持UTF-8字符,则可以通过以下方式转义它们:

"\u2018"
Run Code Online (Sandbox Code Playgroud)

所以在你的例子中,它将是:

result.gsub(/\u2018/, "'")
Run Code Online (Sandbox Code Playgroud)

  • 如果你想得到左右引用字符串,你必须改为myString.gsub(/ [\ u2018\u2019] /,"'").最近不得不使用Windows XML导出Rails应用程序. (2认同)