Re: Beginner gsub and ri questions


#1

Thanks for the response. Is there a way to do this without a regular
expression? To further explain, I want the program to be able to do any
kind of literal string replacement at runtime, except that case is
ignored. If I use a regular expression as the match string, then
certain characters could be interpreted in special, non-literal ways,
which is not what I want in this case.

Jamal


#2

I don’t fully understand the situation when a regex would work. Could
you
give me one?

-mark


#3

On 4/17/06, Jamal M. removed_email_address@domain.invalid wrote:

Thanks for the response. Is there a way to do this without a regular
expression? To further explain, I want the program to be able to do any
kind of literal string replacement at runtime, except that case is
ignored. If I use a regular expression as the match string, then
certain characters could be interpreted in special, non-literal ways,
which is not what I want in this case.

What you want here is to construct your regular expression properly,
such as:

catmatch = %r{#{Regexp::escape(cat)}}i
stringval =~ catmatch

The Regexp::escape (ri it) will prevent your fears from coming true,
here.

-austin