> I had a wanted to replace a single apostrophe with an
backslash+apostrophe.
> E.g. "don't" => "don\\'t" (where \\ is a single backslash in a
string).
> 
> My initial attempt gave strange results ....
> 
>   a = "don't"
>   a.sub(/'/, "\\'")   # => "dontt"
> 
> Backslash-apostrophe is a special replacement pattern that
represents the
> part of the string following the match, in this case the letter
't'.  
> 
> It took four backslashes to get it to work.
> 
>   a.sub(/'/, "\\\\'")   # => "don\\'t"
> 
> I'm embarassed to say how long it took me to figure that out. 

This works for you?  I get a different answer... (*NOT* in irb, mind
you)

c:\tmp>ruby -v
ruby 1.8.0 (2003-08-04) [i386-mswin32]

c:\tmp>cat tmp.rb
a = "don't"
puts a.gsub(/'/, "\\\'")

c:\tmp>ruby tmp.rb
dontt


Hrm.

__________________________________
Do you Yahoo!?
New Yahoo! Photos - easier uploading and sharing.
http://photos.yahoo.com/