Заменить одинарные кавычки Апострофом в строке (Ruby)

мои пользователи иногда вводят вместо Апострофа ('), символы, которые выглядят как Апостроф (), что вызывает некоторые проблемы с базой данных.

Я попытался заменить их на gsub вот так:

result.gsub(/‘/, "'")
result.gsub(/‘/, "'")

ни один из этих параметров не работает-получение ошибки:

syntax error, unexpected $end, expecting ')'
  return result.gsub(/‘/, "'").gsub("’", "'")
                          ^

они зарезервированы Руби? Как их заменить?

3 ответов


Если ваш текстовый редактор не поддерживает символы UTF-8, такие как напрямую, вы можете избежать их таким образом:

"\u2018"

Итак, в вашем примере это будет:

result.gsub(/\u2018/, "'")

попробуй:

result.gsub("‘", "'")

это должно работать.


в дополнение к тому, что сказал @kiplantt, также работает следующее (Только что протестировано)

puts result.gsub(/(\`)/, "\'")