inserting one backslash
On Wed, 1 Feb 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
You are confusing the object and the printed representation: see ?regexp.
cat(gsub("%","\\\\%","income 0%-33%"), "\n")
income 0\%-33\% You really do want the object which prints in R "income 0\\%-33\\%".
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)?
I am using R 2.1.0 on suse linux 9.2.
Time for an undate (not that it affects this, but how objects print has been changed).
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595