我的用户有时输入撇号('
)而不是撇号(‘
)的符号,这会导致数据库出现问题。
我尝试用gsub
代替它们:
result.gsub(/\‘/, "'")
result.gsub(/‘/, "'")
这些选项都不起作用 - 得到错误:
syntax error, unexpected $end, expecting ')'
return result.gsub(/\‘/, "'").gsub("’", "'")
^
他们是由Ruby保留的吗?我该如何更换它们?
答案 0 :(得分:7)
如果您的文本编辑器不直接支持‘
这样的UTF-8字符,您可以通过以下方式转义它们:
"\u2018"
所以在你的例子中,它将是:
result.gsub(/\u2018/, "'")
答案 1 :(得分:1)
尝试:
result.gsub("‘", "'")
它应该有用。
答案 2 :(得分:0)
除了@kiplantt所说的,以下内容也有效(只是测试过)
puts result.gsub(/(\`)/, "\\'")