From: Erik Veenstra Date: 2007-02-08T03:27:04+09:00 Subject: Re: Parse csv similar file Nice abstraction... ;] (By heart: This group_by is part of one of the Rails packages.) gegroet, Erik V. - http://www.erikveen.dds.nl/ ---------------------------------------------------------------- module Enumerable def hash_by(&block) inject({}){|h, o| (h[block[o]] ||= []) << o ; h} end def group_by(&block) #hash_by(&block).values hash_by(&block).sort.transpose.pop end end hash = File.open("input.txt") do |f| f.readlines.group_by do |line| line.scan(/;(E\d+);/) end.collect do |group| group.collect do |string| string.scan(/;E\d+;(.*)/).flatten.shift end.join(",") end end p hash ----------------------------------------------------------------