[R] Special characters in regular expressions

Upton, Stephen (Steve) (CIV) scupton at nps.edu
Thu Sep 24 13:52:18 CEST 2015

and a somewhat convoluted solution, if A or K are always in the second

x <-  c("LBAM 5|A|15C|3h", "LBAM 5|K|15C|2h")


Stephen C. Upton
SEED (Simulation Experiments & Efficient Designs) Center
Operations Research Department
Naval Postgraduate School
SEED Center web site: http://harvest.nps.edu

-----Original Message-----
From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of peter
Sent: Thursday, September 24, 2015 6:38 AM
To: Thierry Onkelinx
Cc: R-help
Subject: Re: [R] Special characters in regular expressions

On 24 Sep 2015, at 12:05 , Thierry Onkelinx <thierry.onkelinx at inbo.be>

> gsub("[A|K]\\|", "", x)

That'll probably do it, but what was the point of the | in [A|K] ?? I don't
think it does what I think you think it does...

Somewhat safer, maybe:

gsub("\\|[AK]\\|","\\|", x)

(avoids surprises from, say, "LBAM 5|A|15A|3h")


> [snip]
> 2015-09-24 11:52 GMT+02:00 Patrick Connolly <p_connolly at slingshot.co.nz>:
>> I need to change a vector dd that looks like this:
>> c("LBAM 5|A|15C|3h", "LBAM 5|K|15C|2h")
>> into this:
>> c("LBAM 5|15C|3h", "LBAM 5|15C|2h")
>> It's not very imaginative, but I could use a complicated nesting of
>> gsub() as so:
>> gsub("-", "\\|", gsub("K-", "", gsub("A-", "", gsub("\\|", "-", 
>> dd))))
>> Or I could make it a bit more readable by using interim objects,
>> But I'd prefer to use a single regular expression that can detect "A|"
>> *and* "K|" without collateral damage from the impact of special 
>> characters and regular characters.

Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000
Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com

R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list