The solution below does not include the pid: string before it. This modification works:
> strapply(i, paste("[^ ]*", "ENSP", "[^ ]*", sep = ""), c, simplify = unlist) [1] "pid:ENSP000012345" On Wed, Jul 8, 2009 at 10:08 AM, Gabor Grothendieck<ggrothendi...@gmail.com> wrote: > Try this: > > library(gsubfn) > i <- "transcript:ENST0000112334 pid:ENSP000012345" > strapply(i, paste("\\w*", "ENSP", "\\w*", sep = ""), c, simplify = unlist) > > This says to match any number (possibly zero) of word > characters followed by ENSP followed by more word > characters. c just returns the match without > further processing and unlist unlists the result giving > a character vector (which otherwise would be a list). > > See http://gsubfn.googlecode.com for more info. > > On Wed, Jul 8, 2009 at 9:04 AM, Praveen > Surendran<praveen.surend...@ucd.ie> wrote: >> Hi, >> >> >> >> Is there a way in R to get the string which matches the expression, where >> the expression is a substring of the parent string. >> >> >> >> Lets say, I have $i <- "transcript:ENST0000112334 pid:ENSP000012345" >> >> What I need is the string "pid:ENSP000012345" from $i using the query >> "ENSP". >> >> >> >> Appreciate your comments. >> >> >> >> Praveen Surendran >> >> School of Medicine and Medical Sciences >> >> University College Dublin >> >> Belfiled, Dublin 4 >> >> Ireland. >> >> >> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> 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. >> > ______________________________________________ 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.