studlee2 / gmail.com wrote:
> Daniel,
>     When you grab the data it will be in a string format, so you need
> to convert it to a number (most likely integer).  Then you can compare
> it with the size of the second value you grabbed.  I would write it
> like this (modify as needed):
> 
> print "enter data"
> a = gets
> valid  = /^(\d*):(\w*)/
> 
> check = valid.match(a)
> 
> if(check[1].to_i == check[2].size)
> 
>    <Your code here>
> 
> end

Thank you for your reply.

My problem is that I have a string like this: "3:foo6:monkey5:sheep", 
which I need to separate into ["foo", "monkey", "sheep"]. The values can 
contain numeric values, so splitting at \d won't work. This is what 
makes it difficult:

   "3:ab23:cat5:sheep" => ["ab2", "cat", "sheep"]

I need to grab the number, then read that many characters, then read the 
next number, etc.


Cheers,
Daniel