From: Michael Furmaniuk Date: 2009-04-15T03:59:13+09:00 Subject: Pulling values from strings I have a string of data that I am trying to pull values from and have hit a roadblack since I am still getting the hang of Ruby, in Perl this would be easier but it seems that Ruby may be able to do this much simpler. My data starts as - send data StartTime: 20090413 13:41:53.000 ScriptName:changeTests Pass:15 Fail:0 Total:15 Then I am able to regex it to something like - ScriptName:changeTests Pass:15 Fail:0 Total:15 The code I have is: if line =~ /data/ # Remove everything from the beginning up to ScriptName line.sub!(/^send.*\d\d\d\s/,"") # Split the line by space, then get pairs by : arr = line.split(/\s/).map do |i| t = i.sub(/[a-zA-Z]+\:([a-zA-Z]+|\d{2,3})/) end end After the arr = line.split I am not sure what to do, I was playing around with various ways of pulling the data out but I am not totally clear on Ruby data structures. What I would like to do is pull out all the values to the right of the :'s and save them for a SQL insert statement, this is data I would like to store in a database after pulling out the values I need. Is it easier to use map to be able to iterate through the values, or can I actually split the data line so that I can end up with each combined value sort of acting like a hash key? I'd appreciate some hints on what might be a good next step so that after arr I should be able to have values like: ScriptName = changeTests Pass = 15 Fail = 0 Total = 15 Thanks -- Posted via http://www.ruby-forum.com/.