我有一些像这样的字符串:
myfun(expr1, expr2)*expr3
并要提取expr1
和expr2
(它们可以是任何表达式),myfun
是固定的函数名。
举两个例子:
myfun((a + b)* c,5)×var2 我要提取:(a + b)* c和5
pmin(var2,5) myfun(a ^ 2 + c d,5 + 6) 我想列举:a ^ 2 + c * d和5 + 6
我应该如何在R中做到这一点?
谢谢!
答案 0 :(得分:0)
如果您确定表达式只包含一个用括号括起来的术语列表,那么我们可以在此处尝试使用sub
:
exp <- "myfun(expr1, expr2)*expr3"
terms <- gsub("^[^(]*\\(([^)]+)\\).*$", "\\1", exp)
result <- strsplit(terms, ",\\s*")[[1]]
result
[1] "expr1" "expr2"