From: Kenosis Date: 2007-09-14T09:20:03+09:00 Subject: Re: A ruby-esque "split" that respects word groups. On Sep 13, 5:12 pm, Kenosis wrote: > Greetings friends, > > I wondering if anyone here has some Ruby-fu they can share with WRT > for following problem. I've toyed with this today and don't like my > solution so I thought I'd run it by y'all. In summary, suppose we > have the following input, say to a command line interpreter: > > foo bar "baz 42" "matz ruby yarv" jruby > > Running split on this string, of course, yeilds: > > ['foo', 'bar', '"baz', '42"', '"matz', 'ruby', 'yarv"', 'jruby'] > > What I'd like instead is a "split" that respects the quoted word > groupings, which would result in the following instead: > > ['foo', 'bar', 'baz 42', 'matz ruby yarv', 'jruby'] > > Thanks in advance for any ideas you can lend! > > Cheers, > > Ken My cleanest solution thus far, which does not properly handled nested quotes: a = "foo 'bar baz bim' 42 'java jruby jar'" puts a.split("'").each { |b| b.strip! }