解析字符串以在R中列出

时间:2019-02-22 02:17:01

标签: r parsing

我想解析一个字符串

s <- "I(log(x1)+myfunc(x2,1:3))"

到类似列表

list(I = list( log = "x1",
               "+",
               myfunc = list("x2", "1:3")
              )
    )

$I
$I$log
[1] "x1"

$I[[2]]
[1] "+"

$I$myfunc
$I$myfunc[[1]]
[1] "x2"

$I$myfunc[[2]]
[1] "1:3"

如何为该转换编写函数?任何资源将不胜感激。

修改

再三考虑,我有时会遇到类似"I(log(x1)+log(x2))"的情况,在这种情况下,"log"不能是两个人的名字。如果这没有发生,那么也许是一个起点strsplit keeping the delimiters.

tokens <- strsplit(x,'(?=[\\(\\),\\+\\-\\*/(\\s+)])', perl = TRUE)

0 个答案:

没有答案