[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

simple question

anitawa

7/20/2007 12:43:00 AM

hello

I have a string like this

string = "hello -a apple -b butterfly -c cat -d dophin"

i would like to parse the string based on some reg exp so that i can
store it in a variable like so.

valuea = "apple"
valueb = "butterfly"
valuec = "cat"
valued = "dophin"

Could someone help me out.

3 Answers

Michael Hollins

7/20/2007 2:17:00 AM

0

anitawa wrote:
> hello
>
> I have a string like this
>
> string = "hello -a apple -b butterfly -c cat -d dophin"
>
> i would like to parse the string based on some reg exp so that i can
> store it in a variable like so.
>
> valuea = "apple"
> valueb = "butterfly"
> valuec = "cat"
> valued = "dophin"
>
> Could someone help me out.
>

Are you parsing a command line? If so, you might want to consider
http://www.ruby-doc.org/stdlib/libdoc/optparse/rdoc/...

cheers,
mick

Ari Brown

7/20/2007 2:23:00 AM

0

or a gem called 'OptionParser'. It's like optparse, only, I find, a
lot simpler.

On Jul 19, 2007, at 10:19 PM, Michael Hollins wrote:

> anitawa wrote:
>> hello
>> I have a string like this
>> string = "hello -a apple -b butterfly -c cat -d dophin"
>> i would like to parse the string based on some reg exp so that i can
>> store it in a variable like so.
>> valuea = "apple"
>> valueb = "butterfly"
>> valuec = "cat"
>> valued = "dophin"
>> Could someone help me out.
>
> Are you parsing a command line? If so, you might want to consider
> http://www.ruby-doc.org/stdlib/libdoc/optparse/rdoc/...
>
> cheers,
> mick
>
>

---------------------------------------------------------------|
~Ari
"I don't suffer from insanity. I enjoy every minute of it" --1337est
man alive




Travis D Warlick Jr

7/20/2007 2:24:00 AM

0

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

anitawa wrote:
> hello
>
> I have a string like this
>
> string = "hello -a apple -b butterfly -c cat -d dophin"
>
> i would like to parse the string based on some reg exp so that i can
> store it in a variable like so.
>
> valuea = "apple"
> valueb = "butterfly"
> valuec = "cat"
> valued = "dophin"

Here you go, but I just had to make one change. Instead of having variables
valuea, valueb, valuec..., I put them in a hash called value. Is it absolutely
necessary to have them as you posted?

string.split(/\s-/).each do |v|
v = v.split(/\s/)
value[ v[0] ] = v[1] if v.size == 2
end

So you would have

value["a"] = "apple"
value["b"] = "butterfly"
etc...

- --
Travis Warlick

"Programming in Java is like dealing with your mom --
it's kind, forgiving, and gently chastising.
Programming in C++ is like dealing with a disgruntled
girlfriend -- it's cold, unforgiving, and doesn't tell
you what you've done wrong."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail....

iD8DBQFGoBzPWvapaOIz2YYRAq0/AJ91/fhAjvzUTNPdorleu5KM39yFIACeI33D
up+jMT1DWbZA/pjE63ihgZk=
=EHig
-----END PGP SIGNATURE-----