From: Mike Stok Date: 2006-09-26T10:31:46+09:00 Subject: Re: Regexp Question / gsub Question 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.