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.