Duncan Murdoch ha scritto:
On 11/16/2009 8:21 AM, Ottorino-Luca Pantani wrote:
Dear R users,
my problem today deals with my ignorance on regular expressions.
a matter I recently discovered.

You were close. First, gsub by default doesn't need escapes before the parens. (There are lots of different conventions for regular expressions, unfortunately.) So the Emacs regular expression V_\(.\)_ is entered as "V_(.)_" in the default version of gsub(). Second, to enter a backslash into a string, you need to escape it. So the replacement pattern V_0\1_ is entered as "V_0\\1_". So

gsub("V_(.)_", "V_0\\1_", foo)

should give you what you want.

Duncan Murdoch
Any of these (the need for doubling of the "\\" for the back-reference seems to be the main issue:
> gsub("_([[:digit:]])_.", "_0\\1_", foo)
> gsub("_(\\d)_.", "_0\\1_", foo) > gsub("V_(.)_", "V_0\\1_", foo)

David Winsemius, MD
Heritage Laboratories
West Hartford, CT


I suspected something on the double escape..........

Thanks to you all.
R is a wonderful software and R-help is always a great place to visit !!!
8rino

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to