[R] Special characters in regular expressions

Patrick Connolly p_connolly at slingshot.co.nz
Sun Sep 27 11:00:30 CEST 2015


On Thu, 24-Sep-2015 at 12:38PM +0200, peter dalgaard wrote:

|> 
|> On 24 Sep 2015, at 12:05 , Thierry Onkelinx <thierry.onkelinx at inbo.be> wrote:
|> 
|> > 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")

Thanks for that suggestion.  Very simple now.

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

-- 
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.   
   ___    Patrick Connolly   
 {~._.~}                   Great minds discuss ideas    
 _( Y )_  	         Average minds discuss events 
(:_~*~_:)                  Small minds discuss people  
 (_)-(_)  	                      ..... Eleanor Roosevelt
	  
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.



More information about the R-help mailing list