[R] regexp problem on R 1.7.0

Gabor Grothendieck ggrothendieck at myway.com
Wed Dec 31 00:57:01 CET 2003



Just as an elaboration, this might help further clarify it.
Spit displays each character in x -- one per line.

> spit <- function(x) for(i in 1:nchar(x)) cat(i,substring(x,i,i),"\n")
> spit("e\+06") # note that the resulting string does not contain \
1 e 
2 + 
3 0 
4 6 
> spit("e\\+06") # this time its there
1 e 
2 \ 
3 + 
4 0 
5 6 
 
Date: Tue, 30 Dec 2003 21:50:27 +0000 (GMT) 
From: Prof Brian Ripley <ripley at stats.ox.ac.uk>
To: Itay Furman <itayf at fhcrc.org> 
Cc: <r-help at stat.math.ethz.ch> 
Subject: Re: [R] regexp problem on R 1.7.0 

 
 
In R (and C) \ must be escaped in a character string.
This is mentioned on the help page.

On Tue, 30 Dec 2003, Itay Furman wrote:

> 
> Hi,
> 
> Am I missing something in using regexps in R?
> Below, 'egrep' means invokation of the command from the shell 
> prompt.
> 
> # I have
> > as.character(block.dist.vals)
> [1] "1e+06" "2e+06" "5e+06"
> # that I wish to convert to: "1" "2" "5"
> 
> # OK (R and egrep)
> > sub( "e.+06", "", as.character(block.dist.vals) )
> [1] "1" "2" "5"
> # OK (R), egrep will *not* match pattern
> > sub( "e\\+06", "", as.character(block.dist.vals) )
> [1] "1" "2" "5"
> 
> # egrep will match pattern; R will not.
> > sub( "e\+06", "", as.character(block.dist.vals) )
> [1] "1e+06" "2e+06" "5e+06"
> 
> As-far-as I can tell the last attempt should have worked, too.
> Could someone explain to me why it doesn't?
> 
> I have R 1.7.0 on RedHat 9.
> 
> Thanks in advance,
>      Itay Furman
> 
> =========================================================================
>                Fred Hutchinson Cancer Research Center
> email: itayf at fhcrc.org          1100 Fairview Avenue N., Mailstop D4-100
> phone: +1 (206) 667 5921     P.O. Box 19024
> fax: +1 (206) 667 2917     Seattle, WA 98109-1024
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> 
> 

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

______________________________________________
R-help at stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help




More information about the R-help mailing list