From: Stefano Crocco Date: 2007-03-31T06:28:23+09:00 Subject: Re: simple gsub question \' \` what? Alle venerd狸 30 marzo 2007, Dustin Anderson ha scritto: > Sorry for the simple question, I just can't figure this out after a > couple hours... > > I need to parse a string: > > string = column-1:block-0,block-2,block-1,block-3 > > and I need to extract everything before the : (colon) into one variable > (should end up like this: > string1 = column-1 > > and then the rest of the string (block-0,block-2,block-1,block3) into an > array... > > How can I use gsub to extract everything before the colon? > > I've looked at the documentation and just can't understand how to use > the \` or \' syntax... I want the two new strings to be: > > string1 = column-1 > string2 = ["block-0", "block-2", "block-1", "block-3"] > > I'm thinking it's something like this: > > string.gsub(/:/, "\`") > > really, I just don't get it... > > the documentation that I'm looking at is here: > http://dev.rubycentral.com/ref/ref_c_string.html > > thanks a bunch! > -Dustin > I don't think you need gsub here. gsub is used to replace parts of a string with other characters. What you need is a regexp. This should work: string.match( /^([^:]*):(.*)$/ ) string1=$1 string2=$2.split(',') The regexp will put anything from the beginning of the string until the first : (excluded) in the global variable $1 and anything after the : in the variable $2. You can then convert $2 to an array of string using the String#split method. I hope this helps Stefano