[R] extracting text contained in brackets ("[ ... ]") from a character string?

jim holtman jholtman at gmail.com
Sun May 13 23:35:36 CEST 2007


here is one way using 'sub':

> x <- c("testdata[3]", "testdata[-4]", "testdata[-4g]")
> sub(".*\\[(.*)\\].*", "\\1", x, perl=TRUE)
[1] "3"   "-4"  "-4g"
> x.func <- function(x){ sub(".*\\[(.*)\\].*", "\\1", x, perl=TRUE)}
> x.func(x)
[1] "3"   "-4"  "-4g"
>


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.
>


-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?



More information about the R-help mailing list