mrD
mrD

Reputation: 652

Make a string "regexp-safe"

I wan't to make a string regexp safe in Ruby.

I have:

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

This replaces all words I've stored in the model Word with an empty space. The problem is if word contains for instance a left parenthesis "(" it will fail. Is there a better way of doing this or at least make word regexp safe? Word may contain any type of character.

Thanks, Martin

Upvotes: 5

Views: 1380

Answers (1)

newacct
newacct

Reputation: 122449

you can use Regexp.escape

Upvotes: 9

Related Questions