Joe Van Dyk wrote:
> I have a string that contains a list of keys and values.
> 
> "key1: a_value, key2: another_value, key3: yet_another_value"
> 
> I have an array of ["key1", "key2", "key3"].
> 
> I'd like to loop through and find all the values in the string that
> have a key in the key array.
> 
> My first attempt was:
> 
> keys = ["key1", "key2", "key3"]
> my_str = "key1: a_value, key2: another_value, key3: yet_another_value"
> keys.each do |key|
>     my_str =~ Regexp.new("#{key}: \\w+")

use this instead
       my_str =~ Regexp.new("#{key}: (\\w+)")
you need the brackets in order to capture the substring

>     puts "the value for #{key} was #{$1}"
> end
> 
> But that's not working properly.
> 
> Any ideas?

HTH

--
Mark Sparshatt