From ggrothendieck at gmail.com  Mon Apr 24 16:30:32 2006
From: ggrothendieck at gmail.com (Gabor Grothendieck)
Date: Mon, 24 Apr 2006 10:30:32 -0400
Subject: [Rd] gsub + backslashes
In-Reply-To: <Pine.LNX.4.64.0604241620370.12055@imbe153.imbe.med.uni-erlangen.de>
References: <Pine.LNX.4.64.0604241620370.12055@imbe153.imbe.med.uni-erlangen.de>
Message-ID: <971536df0604240730j718550e6ra534b7da435fd947@mail.gmail.com>

\ is a special character in regular expressions so you need to
escape it as \\ but putting \\ between quotes give you only \
so you need \\\\ to get \\.  Any of these would work:

gsub("\\\\", "x", "\\alpha")
gsub("[\\]", "x", "\\alpha")
sub(".", "x", "\\alpha") # assumes \ is first character
gsub("\\", "x", "\\alpha", fixed = TRUE)
chartr("\\", "x", "\\alpha")


On 4/24/06, Torsten Hothorn <Torsten.Hothorn at rzmail.uni-erlangen.de> wrote:
>
> Dear developeRs,
>
> I thought that backslashes can be escaped in the usual way (and I think I
> did this before) but I can't see why
>
> R> gsub("\\", "x", "\alpha")
> Error in gsub(pattern, replacement, x, ignore.case, extended, fixed,
> useBytes) :
>         invalid regular expression '\'
>
> gives an error. Or am I just blind?
>
> Best,
>
> Torsten
>
> R> version
>                _
> platform       i686-pc-linux-gnu
> arch           i686
> os             linux-gnu
> system         i686, linux-gnu
> status         Under development (unstable)
> major          2
> minor          4.0
> year           2006
> month          04
> day            18
> svn rev        37840
> language       R
> version.string R version 2.4.0 Under development (unstable) (2006-04-18
> r37840)
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



[Rd] gsub + backslashes
Gabor Grothendieck