Hi,
I’m looking for a function that makes it possible to do the folowing:
Replace all substrings --xxxx-- with -xxxx–1 in a string.
The xxxx represents an unknown value (can be anything)
Is there a way to set unknow characters in a gsub function?
Thx!
2010/3/1 Reinhart V. [email protected]:
I’m looking for a function that makes it possible to do the folowing:
Replace all substrings --xxxx-- with -xxxx–1 in a string.
The xxxx represents an unknown value (can be anything)
Is there a way to set unknow characters in a gsub function?
You can match arbitrary characters and use capturing groups
str.gsub(/–([^-]+)–/, ‘-\1–1’)
Kind regards
robert
Robert K. wrote:
You can match arbitrary characters and use capturing groups
str.gsub(/–([^-]+)–/, ‘-\1–1’)
which you can also do in a block form, which is sometimes clearer and
lets you do things like modifying xxxx.
str.gsub(/–([^-]+)–/) { “-#{$1}–1” }
2010/3/1 Brian C. [email protected]:
Robert K. wrote:
You can match arbitrary characters and use capturing groups
str.gsub(/–([^-]+)–/, ‘-\1–1’)
which you can also do in a block form, which is sometimes clearer and
lets you do things like modifying xxxx.
str.gsub(/–([^-]+)–/) { “-#{$1}–1” }
For fairness reasons you should also mention that this is also slower
and not needed in this particular case since the replacement is fixed.

This is also a good opportunity to link to my most recent blog entry
which dealt with string replacements:
http://blog.rubybestpractices.com/posts/rklemme/020-Code_Massage.html
Cheers
robert