[R] Regular expression to define contents between parentheses

Gabor Grothendieck ggrothendieck at gmail.com
Tue Aug 25 23:02:48 CEST 2009


Instead of using .* use [^)]* so that you only get up to the next ) and also
it seems that you want to trim spaces so add space star at the beginning
and end:

gsub(" *\\([^)]*\\) *", "", myvector)


On Tue, Aug 25, 2009 at 4:17 PM, Judith Flores<juryef at yahoo.com> wrote:
> Hello dear R-helpers,
>
>   I haven't been able to figure out of find a solution in the R-help archives about how to delete all the characters contained in groups of parenthesis. I have a vector that looks more or less like this:
>
> myvector<-c("something (80 km/h, sd) & more (6 kg/L,sd)", "somethingelse (48 m/s, sd) & moretoo (50g/L , sd)")
>
> I want to extract all the strings that are not contained in parenthesis, the goal would be to obtain the following new vector:
>
> subvector<-c("something & more", "somethingelse & moretoo")
>
> I tried the following, but this pattern seems to enclose all that is included between the first opened parenthesis and the last closed parethesis, which makes sense, but it's not what I need:
>
> subvector<-gsub("\\((.*)\\)","",myvector
>
>
> Your help will be very appreciated.
>
> Thank you,
>
> Judith
>
> ______________________________________________
> R-help at 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.
>




More information about the R-help mailing list