From: "Weirich, James" Date: 2003-12-17T05:27:05+09:00 Subject: Re: substituting apostrphe's From: Peter [mailto:Peter.Vanbroekhoven@cs.kuleuven.ac.be] > > irb(main):003:0> a = "a" > > => "a" > > irb(main):004:0> a.gsub(/a/, '\'') > > => "'" > > irb(main):007:0> a = "abc" > > => "abc" > > irb(main):008:0> a.gsub(/a/, '\\\'') > > Did it again... The last line gives "bcbc" as result. 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. -- -- Jim Weirich / Compuware -- FWP Capture Services -- Phone: 859-386-8855