From: William James Date: 2005-08-13T00:51:12+09:00 Subject: Re: no clue Joe Van Dyk wrote: >I have a string like: > >"some_key: blah, some_other_key: more_blah, > yet_other_key: yet_more_blah" > >I want to build up a hash like > >{ :some_key => "blah", :some_other_key => "more_blah", > :yet_other_key => "yet_more_blah" } h={} DATA.read.split(/\s*[:,\n]\s*/).inject(false){|a,b| if a then h[a.to_sym]=b; a=false else a=b end } p h __END__ some_key: blah, some_other_key: more_blah, yet_other_key: yet_more_blah key1:value1 key2: value2 key3 : value 3 , key4 :value4 , key555555555:value55555 ---- Output: {:key3=>"value 3", :some_key=>"blah", :key4=>"value4", :some_other_key=>"more_blah", :key555555555=>"value55555", :yet_other_key=>"yet_more_blah", :key1=>"value1", :key2=>"value2"}