On Aug 6, 2008, at 10:03 AM, Mage wrote: > Hello, > > I have a string like: ' "gaz"=>"1", "viz"=>"1", "lift"=>"0", > "kamra"=>"1", "klima"=>"0" ' > Is it possible to convert this easily to hash without calling eval > or writing regexp? > > eval is easy and unsecure. Regexp is not very simple if you want > handle every special case (nested values etc). > > Mage > str = ' "gaz"=>"1", "viz"=>"1", "lift"=>"0", "kamra"=>"1", "klima"=>"0" ' h = {} str.split(',').each do |substr| ary = substr.strip.split('=>') h[ary.first.tr('"','')] = ary.last.tr('"','') end But that won't handle nested values -- that's left for someone else with more time than me. Blessings, TwP