From: Michael Guterl Date: 2008-01-24T09:36:32+09:00 Subject: Re: Stuff method ------=_Part_21163_10658433.1201134997649 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline On Jan 23, 2008 7:23 PM, Carl Graff wrote: > Hi, > > I missed the stuff function or method found in some languages so I added > this method to my Helpers mixin. > > > def stuff(str, substr, rplstr, prefix = '.*') > r1 = Regexp.new("(#{prefix})(#{substr})(.*)") > str.gsub(r1,'\1'+rplstr+'\3') > end > > puts stuff('012-014640-001','-.','-X') > > This works but if you know a better way please share so I can learn. > > In particular it would be nicer I think if it worked like this: > > new_str = '012-014640-001'.stuff('-.','-X') > > Try this if you want it to work like above. You should always be careful when modifying core classes, yada yada yada... class String def stuff(substr, rplstr, prefix = '.*') r1 = Regexp.new("(#{prefix})(#{substr})(.*)") self.gsub(r1,'\1'+rplstr+'\3') end end Michael Guterl ------=_Part_21163_10658433.1201134997649--