[R] R regular expression to extract words with the query string.

2009-07-08 Thread Praveen Surendran
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:ENST112334 pid:ENSP12345 What I need is the string pid:ENSP12345 from $i using the query ENSP. Appreciate your

Re: [R] R regular expression to extract words with the query string.

2009-07-08 Thread Henrique Dallazuanna
Try this: sapply(strsplit(i, ' '), grep, pattern='ENSP', value = T) On Wed, Jul 8, 2009 at 10: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.

[R] R regular expression to extract words with the query string.

2009-07-08 Thread Praveen Surendran
To: praveen.surend...@ucd.ie Cc: r-help@r-project.org Subject: Re: [R] R regular expression to extract words with the query string. Try this: sapply(strsplit(i, ' '), grep, pattern='ENSP', value = T) On Wed, Jul 8, 2009 at 10:04 AM, Praveen Surendran praveen.surend...@ucd.ie wrote: Hi, Is there a way

Re: [R] R regular expression to extract words with the query string.

2009-07-08 Thread Jorge Ivan Velez
Dear Praveen, Try also: strsplit(i,' ')[[1]][2] # [1] pid:ENSP12345 HTH, Jorge On Wed, Jul 8, 2009 at 9:04 AM, Praveen Surendran praveen.surend...@ucd.iewrote: Hi, Is there a way in R to get the string which matches the expression, where the expression is a substring of the parent

Re: [R] R regular expression to extract words with the query string.

2009-07-08 Thread Gabor Grothendieck
Try this: library(gsubfn) i - transcript:ENST112334 pid:ENSP12345 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

Re: [R] R regular expression to extract words with the query string.

2009-07-08 Thread Gabor Grothendieck
The solution below does not include the pid: string before it. This modification works: strapply(i, paste([^ ]*, ENSP, [^ ]*, sep = ), c, simplify = unlist) [1] pid:ENSP12345 On Wed, Jul 8, 2009 at 10:08 AM, Gabor Grothendieckggrothendi...@gmail.com wrote: Try this: library(gsubfn) i -