On Jun 26, 2014, at 6:11 PM, C Lin wrote: > Hi Duncan, > > Thanks for trying to help. Sorry for not being clear. > The string I'd like to get is 'AARSD1' > It can be followed or preceded by white space or // or nothing > > so, from test <- c('AARSD11','AARSD1-','AARSD1//','AARSD1 > //','//AARSD1','AARSD1'); > > I want to match only 'AARSD1//','AARSD1 //','//AARSD1','AARSD1'
Perhaps you want jsut grepl('^AARSD1//$|^AARSD1 //$|^//AARSD1$|^AARSD1', test) > grepl('^AARSD1//$|^AARSD1 //$|^//AARSD1$|^AARSD1$', test) [1] FALSE FALSE TRUE TRUE TRUE TRUE -- David. > > Thanks, > Lin > > ---------------------------------------- >> From: dulca...@bigpond.com >> To: bac...@hotmail.com; r-help@r-project.org >> Subject: RE: [R] regular expression help >> Date: Fri, 27 Jun 2014 10:59:29 +1000 >> >> Hi >> >> You only have a vector of length 5 and I am not quite sure of the string you >> are testing >> so try this >> >> grep('[/]*\\<AARSD1\\>[/]*',test) >> >> Duncan >> >> Duncan Mackay >> Department of Agronomy and Soil Science >> University of New England >> Armidale NSW 2351 >> Email: home: mac...@northnet.com.au >> >> -----Original Message----- >> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On >> Behalf Of C Lin >> Sent: Friday, 27 June 2014 10:05 >> To: r-help@r-project.org >> Subject: [R] regular expression help >> >> Dear R users, >> >> I need to match a string. It can be followed or preceded by whitespace or // >> or nothing. >> How do I code it in R? >> >> For example: >> test <- c('AARSD11','AARSD1-','AARSD1//','AARSD1 //','//AARSD1'); >> grep('AARSD1(\\s*//*)',test); >> >> should return 3,4,5 and 6. >> > David Winsemius Alameda, CA, USA ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.