From: Joao Silva Date: 2012-10-05T00:29:34+09:00 Subject: Extract numbers from an alpha numeric string Hi All. I'm doing a program in which you have to enter a series of numbers like this: 1-3-4-11-15-8, I extract the numbers, and then transfer to a hash, the program does is that given 2 arrays with shirt numbers, and the names of a soccer team, should I create a hash associating both arrays. for example if I enter 1-3-4-11, the program should return: 1 => p1 3 => p3 4 => p4 11 => p11 try removing the dashs of string, but when I pass as argument a number greater than nine, I just passed the first number: 1 => p1 3 => p2 10 => p1 11 => p1 I mean?, here is the code: ############################################### tshirts=["1","2","3","4","5","6","7","8","9","10","11"] players=["p1","p2","p3","p4","p5","p6","p7","p8","p9","p10","p11"] h={ 1=>"p1", 2=>"p2", 3=>"p3", 4=>"p4", 5=>"p5", 6=>"p6", 7=>"p7", 8=>"p8", 9=>"p9", 10=>"p10", 11=>"p11" } h.each{|k,v|puts "#{k} => #{v}"} def output(str,h) s={} for i in 0..str.length h.each{|k,v| if k == str[i].to_i #puts "#{k} ==> #{v}" s[i]="#{v}" print s[i].inspect #print "-" end } end end print "Enter numbers of players (ej: 1-3-11-7-15-22-4-7): " str=gets.chomp.to_s for i in 0..str.length-1 if str[i]=="-" str[i]="" end end #puts str output(str,h) ################################################################### I accept any suggestion. Thanks. -- Posted via http://www.ruby-forum.com/.