From: ara.t.howard@... Date: 2006-12-21T03:07:39+09:00 Subject: Re: Grabbing quoted substrings On Thu, 21 Dec 2006, Bil Kleb wrote: > OK, I give up, what's the elegant method to > grab the quoted substrings in the following, > > a = 'variables="x", "y", "z", "rho", "u", "v", "w", "p/pinf", "s", "mach"' > > I want an array like, > > ["x", "y", "z", ..., "mach"] > > The methods I've come up with so far are > embarrassingly hideous. easy: harp:~ > cat a.rb a = 'variables="x", "y", "z", "rho", "u", "v", "w", "p/pinf", "s", "mach"' variables = eval a p variables harp:~ > ruby a.rb ["x", "y", "z", "rho", "u", "v", "w", "p/pinf", "s", "mach"] hard: harp:~ > cat a.rb a = 'variables="x", "y", "z", "rho", "u", "v", "w", "p/pinf", "s", "mach"' re = %r/ "([^"\\]*(?:\\.[^"\\]*)*)" # matches balanced double quotes | '([^'\\]*(?:\\.[^'\\]*)*)' # matches balanced single quotes /ox variables = a.scan(re).map{|a,b| a || b} p variables harp:~ > ruby a.rb ["x", "y", "z", "rho", "u", "v", "w", "p/pinf", "s", "mach"] info: http://rubyforge.org/pipermail/bdrg-members/2006-June/000050.html cheers. -a -- if you find yourself slandering anybody, first imagine that your mouth is filled with excrement. it will break you of the habit quickly enough. - the dalai lama