I would use
sub("\\(.*\\)", "()", s)
It is essentially the same as Rui's suggestion, but I find the purpose
to be more clear. It might also be a little more efficient.
HTH
Ulrik
On Mon, 21 May 2018, 15:38 Rui Barradas, <ruipbarradas at sapo.pt
<mailto:ruipbarradas at sapo.pt>> wrote:
Hello,
Try this.
ss1 <- "z:f(5, a=3, b=4, c='1:4', d=2)"
ss2 <- "f(5, a=3, b=4, c=\"1:4\", d=2)*z"
fun <- function(s) sub("(\\().*(\\))", "\\1\\2", s)
fun(ss1)
#[1] "z:f()"
fun(ss2)
#[1] "f()*z"
Hope this helps,
Rui Barradas
On 5/21/2018 2:33 PM, Vito M. R. Muggeo wrote:
> dear all,
> I am stuck on the following problem. Give a string like
>
> ss1<- "z:f(5, a=3, b=4, c='1:4', d=2)"
>
> or
>
> ss2<- "f(5, a=3, b=4, c=\"1:4\", d=2)*z"
>
> I would like to remove all entries within parentheses.. Namely, I
> obtain respectively
>
> "z:f()" or "f()*z"
>
> I played with sub() and gsub() but without success..
> Thank you very much for your time,
>
> best,
> vito
>
>