From: Mike Stok Date: 2006-09-26T10:49:56+09:00 Subject: Re: Regexp Question / gsub Question On 25-Sep-06, at 9:35 PM, x1 wrote: > Hehe.. Awesome!!!!!!! > > Ok.. one last thing.. : key being a variable. > > How would you knock this one out? Instead of the string "key", lets > repace the occurance of the key variable, which in this case is "key" > but could be another string.. > > key = "key" > wrapper = ["", ""] > strings = ["blahblahKEY", "asdfasdfkey", "Keyasdf", "xxkEYxx", > "xxKeyxxKEY"] > > strings.each do |string| > puts string.gsub(/key/i) {|match| "#{match}"} > end > The simple, but incomplete/unsafe, approach might be: thing = 'key' strings.each do |string| puts string.gsub(/#{thing}/i) {|match| "#{match}"} end If "thing" includes regex metacharacters then you might want to consider looking at Regexp::escape and figuring out how it could help those cases. Hope this helps, Mike > > On 9/25/06, Mike Stok wrote: >> >> On 25-Sep-06, at 9:27 PM, x1 wrote: >> >> > Perhaps someone could help with this example? I need to iterate >> > through each of the items in strings and wrap any case insensitive >> > occurrence of "key" with . If each string was always >> just the >> > word "key" I would use something like wrapper.join("key") but.. >> I have >> > other text surrounding the "key", various cases and potentially >> > multiple occurrences. Thank you in advance. >> > >> > >> > wrapper = ["", ""] >> > strings = ["blahblahKEY", "asdfasdfkey", "Keyasdf", "xxkEYxx", >> > "xxKeyxxKEY"] >> > >> > strings.each do |string| >> > # would like to print the string replacing "key" (case >> > insensitive) with "key"(in its original case) >> > end >> > >> > >> > # Ideally, would output: >> > # "blahblahKEY" >> > # "asdfasdfkey" >> > # "Keyasdf" >> > # "xxkEYxx" >> > # "xxKeyxxKEY" >> > >> >> #!/usr/bin/env ruby >> >> wrapper = ["", ""] >> strings = ["blahblahKEY", "asdfasdfkey", "Keyasdf", "xxkEYxx", >> "xxKeyxxKEY"] >> >> strings.each do |string| >> puts string.gsub(/key/i) {|match| "#{match}"} >> end >> >> Maybe? >> >> Hope this helps, >> >> Mike >> >> -- >> >> Mike Stok >> http://www.stok.ca/~mike/ >> >> The "`Stok' disclaimers" apply. >> >> >> >> >> >> > > -- Mike Stok http://www.stok.ca/~mike/ The "`Stok' disclaimers" apply.