[R] matching problem

Gabor Grothendieck ggrothendieck at gmail.com
Wed Aug 6 18:39:56 CEST 2008


On Wed, Aug 6, 2008 at 9:01 AM, Tom.O <tom.olsson at dnbnor.com> wrote:
>
> I have a matching problem that I cant solve.
> mystring = "xxx{XX}yy{YYY}zzz{Z}" where "x","X","y","Y","z","Z" basiclly can
> be anything, letters, digits etc. I'm only interested in the content within
> each "{}".
>
> I am close but not really there yet.
>
> library(gsubfn)
> strapply(mystring,"\\{[^\\}]+",, perl=F)
>
> gives me
> [[1]]
> [1] "{XX"  "{YYY" "{Z"
>
> but what should I add in the code to remove the "{" in the answer
>

Surround the portion you want with parentheses.  That makes
it a backreference and you can ask for the backreference
rather than the entire match. -1 means return 1 backreference
but not the entire match.

strapply(mystring,"\\{([^\\}]+)", backref = -1)



More information about the R-help mailing list