From: Erik Veenstra Date: 2007-02-08T01:15:08+09:00 Subject: Re: Parse csv similar file Just an idea... gegroet, Erik V. - http://www.erikveen.dds.nl/ ---------------------------------------------------------------- hash = File.open("input.txt") do |f| f.readlines.collect do |line| k = line.scan(/;(E\d+);/).flatten.shift v = line.scan(/;E\d+;(.*)/).flatten.shift [k, v] end.select do |k, v| k and v end.inject({}) do |h, (k, v)| (h[k] ||= []) << v ; h end.inject({}) do |h, (k, v)| h[k] = v.join(",") ; h end end p hash ----------------------------------------------------------------