Сделайте строку "regexp-safe" - PullRequest
       0

Сделайте строку "regexp-safe"

4 голосов
/ 21 декабря 2009

Я не хочу делать безопасное регулярное выражение в Ruby.

У меня есть:

comment = "Just a comment someone makes"
Word.find(:all).each do |word|
  comment.gsub!(%r{#{word}\s*}," ")
end

Это заменяет все слова, которые я сохранил в модели Word, пустым пробелом. Проблема в том, что если слово содержит, например, левую скобку "(" это не удастся. Есть лучший способ сделать это или, по крайней мере, сделать слово regexp безопасным? Word может содержать символы любого типа.

Спасибо, Martin

1 Ответ

7 голосов
/ 21 декабря 2009

вы можете использовать Regexp.escape

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...