我正在尝试从字符串中提取方括号之间的内容:
eq <- "(5) h[m] + nadh[m] + q10[m] --> (4) h[c] + nad[m] + q10h2[m]"
我可以过滤掉它们:
gsub("\\[.+?\\]","" ,eq) ##replaces square brackets and everything inside it
[1] "(5) h + nadh + q10 --> (4) h + nad + q10h2"
但是我怎样才能捕捉到括号内的内容呢?我尝试了以下方法:
gsub("\\[(.+)?\\])", "\\1", eq)
grep("\\[(.+)?\\]", eq, value=TRUE)
但两者都返回给我整个字符串:
[1] "(5) h[m] + nadh[m] + q10[m] --> (4) h[c] + nad[m] + q10h2[m]"
此外,在我的应用程序中,我永远不知道方括号中有多少这样的术语,所以我不知道 gsub 中的“替换”参数应该是什么样子(例如\\1
或\\1_\\2
)。提前致谢!