Joe Van Dyk
3/7/2005 9:17:00 PM
On Tue, 8 Mar 2005 06:13:24 +0900, mark sparshatt
<msparshatt@yahoo.co.uk> wrote:
> 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
>
Argh, you're right. Thanks.