Re: [R] inserting one backslash

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Thu 02 Feb 2006 - 05:24:36 EST

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@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

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Thu Feb 02 05:46:56 2006

This archive was generated by hypermail 2.1.8 : Thu 02 Feb 2006 - 08:29:56 EST