Hello!  I have a string: "Hello - 1 - World"

irb(main):017:0> a = "Hello - 1 - World"
=> "Hello - 1 - World"

I want to chop off the "Hello - " part.  Hello could be any word, so I
want to match it generically.
To match the first minus I do this:

irb(main):018:0> b = a.sub(/\s-\s/, "")
=> "Hello1 - World"

Good!  Now to get rid of the first word I try this:

irb(main):019:0> c = a.sub(/.*\s-\s/, "")
=> "World"

Bad!  It matched to the second minus!  Why does sub do this?  I thought
it was supposed to match the first occurrence only.
-- 
Posted via http://www.ruby-forum.com/.