Hi, I need to check if a string "<rh>a,b,c,d<rh>" is delimited by two "<rh>" 's as efficiently as possible(I need to do this a lot of times) and return TRUE. Can someone suggest a good technique? [[alternative HTML version deleted]]
On Sep 15, 2010, at 10:16 AM, rajeshj at cse.iitm.ac.in wrote:> > Hi, > > I need to check if a string "<rh>a,b,c,d<rh>" is delimited by two "<rh>" 's as efficiently as possible(I need to do this a lot of times) and return TRUE. Can someone suggest a good technique?See ?grep and ?regex> grepl("^<rh>.*<rh>$", "<rh>a,b,c,d<rh>")[1] TRUE You can pass the entire source vector to grepl(): Vec <- c("<rh>a,b,c,d<rh>", "1, 2, 3, 4", "a, b, c, d<rh>", "<rh>1, 2, 3, 4<rh>")> grepl("^<rh>.*<rh>$", Vec)[1] TRUE FALSE FALSE TRUE HTH, Marc Schwartz
Le 15/09/10 17:16, rajeshj at cse.iitm.ac.in a ?crit :> > > Hi, > > I need to check if a string "<rh>a,b,c,d<rh>" is delimited by two"<rh>" 's as efficiently as possible(I need to do this a lot of times) and return TRUE. Can someone suggest a good technique?Hi Rajesh, > f <- function( x ) grepl( "^<rh>.*<rh>$", x ) > f( "<rh>a,b,c,d<rh>" ) [1] TRUE See ?grepl for details. Romain -- Romain Francois Professional R Enthusiast +33(0) 6 28 91 30 30 http://romainfrancois.blog.free.fr |- http://bit.ly/cCmbgg : Rcpp 0.8.6 |- http://bit.ly/bzoWrs : Rcpp svn revision 2000 `- http://bit.ly/b8VNE2 : Rcpp at LondonR, oct 5th
On Sep 15, 2010, at 11:16 AM, rajeshj at cse.iitm.ac.in wrote:> > Hi, > > I need to check if a string "<rh>a,b,c,d<rh>" is delimited by two > "<rh>" 's as efficiently as possible(I need to do this a lot of > times) and return TRUE. Can someone suggest a good technique?> txt <- "<rh>a,b,c,d<rh>" > > grep("^<rh>.+<rh>$", txt) [1] 1> [[alternative HTML version deleted]] > > ______________________________________________ > R-help at 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.David Winsemius, MD West Hartford, CT