On Sep 28, 2008, at 9:04 PM, Nick Bo wrote:

> eg: str = "a b c d"
> newStr = str.sub(" ", ", ")
>
> gives me output a, b c d
>
> what i want is a, b, c, d
>
> ow do i make this happen sub isnt doing it for me i guess.  I been
> looking all through the ruby-doc to no avail.

You want to use str.gsub rather than str.sub.  Compare the  
documentation of the two:

------------------------------------------------------------ String#gsub
      str.gsub(pattern, replacement)       => new_str
      str.gsub(pattern) {|match| block }   => new_str

      From Ruby 1.9.0
------------------------------------------------------------------------
      Returns a copy of _str_ with _all_ occurrences of _pattern_
      replaced with either _replacement_ or the value of the block. The
      _pattern_ will typically be a +Regexp+; if it is a +String+ then  
no
      regular expression metacharacters will be interpreted (that is
      +/\d/+ will match a digit, but +'\d'+ will match a backslash
      followed by a 'd').

[...]

------------------------------------------------------------- String#sub
      str.sub(pattern, replacement)         => new_str
      str.sub(pattern) {|match| block }     => new_str

      From Ruby 1.9.0
------------------------------------------------------------------------
      Returns a copy of _str_ with the _first_ occurrence of _pattern_
      replaced with either _replacement_ or the value of the block. The
      _pattern_ will typically be a +Regexp+; if it is a +String+ then  
no
      regular expression metacharacters will be interpreted (that is
      +/\d/+ will match a digit, but +'\d'+ will match a backslash
      followed by a 'd').

[...]

Hope this helps,

Mike


-- 

Mike Stok <mike / stok.ca>
http://www.stok.ca/~mike/

The "`Stok' disclaimers" apply.