[R] inserting one backslash

Sundar Dorai-Raj sundar.dorai-raj at pdf.com
Wed Feb 1 19:05:26 CET 2006


RH Koning wrote:
> Hello, I am not very familiar with regular expressions and escaping. I 
> need to replace the %-signs in a character vector with elements as 
> "income 0%-33%# to be replaced by "income 0\%-33\%" (for later use in 
> LaTeX). Using
> 
> gsub("%","\\%","income 0%-33%")
> 
> does not give the desired result. However, gsub("%","\\\\%","income 
> 0%-33%") gives "income 0\\%-33\\%", one backslash too much. What is the 
> appropriate expression to get the desired output (one backslash before 
> each %-sign)?

Actually, you got the answer. See the difference between:

 > gsub("%","\\\\%","income 0%-33%")
[1] "income 0\\%-33\\%"
 > cat(gsub("%","\\\\%","income 0%-33%"))
income 0\%-33\%

HTH,

--sundar




More information about the R-help mailing list