From: "Wolfgang Nádasi-donner" Date: 2007-08-06T15:42:49+09:00 Subject: Re: Determining the common prefix for several strings Wolfgang Nádasi-donner wrote: EOS > s = list.split("\n").sort{|a,b|a.length<=>b.length} > pre = > s.collect{|e|e.split('')[0...(s[0].length)]}.transpose.collect{|e|e.uniq}.reject{|e|e.length>1}.flatten.join('') > p pre # => "item" > > Wolfgang N#adasi-Donner :oops: - I made an error! The corrected version is... list = <<-EOS item0aa item1aa item3a EOS s = list.split("\n").sort{|a,b|a.length<=>b.length} pre = s.collect{|e|e.split('')[0...(s[0].length)]}.transpose.collect{|e|e.uniq}. inject(''){|r,c|(c.length>1)?(break r):(r< "item" Wolfgang Nádasi-Donner -- Posted via http://www.ruby-forum.com/.