[R] extracting text contained in brackets ("[ ... ]") from a character string?
Gabor Grothendieck
ggrothendieck at gmail.com
Mon May 14 00:45:05 CEST 2007
If you know its of the form testdata[3] then this is sufficient
x <- c("testdata[3]", "testdata[-4]", "testdata[-4g]")
gsub(".*\\[|\\]", "", x) # c("3", "-4", "-4g")
Here is a somewhat more general solution:
library(gsubfn)
x <- c("a[b]c[d]d", "[a]b")
strapply(x, "\\[([^]]*)\\]", back = -1) # list(c("b", "d"), "a")
On 5/13/07, new ruser <newruser at yahoo.com> wrote:
> I have a text string that contains text within two brackets.
>
> e.g. "testdata[3]" "testdata[-4]", "testdata[-4g]",
>
> I wish to "extract" the string enclosed in brackets?
>
> What is a good way to do this?
>
> e.g.
>
> fun(testdata[3]) = '3'
>
> fun(testdata[-4g]) = '-4g'
>
> ---------------------------------
> Moody friends. Drama queens. Your life? Nope! - their life, your story.
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
>
More information about the R-help
mailing list