gpt4 book ai didi

r - 查找并标记匹配的括号对

转载 作者:行者123 更新时间:2023-12-04 02:35:44 25 4
gpt4 key购买 nike

给定下面的嵌套括号字符串

a = "[[[][]]][[[][][]]]"

我试图在 a 中找到一对左括号和右括号,并用公共(public) ID 标记它们的位置。例如,我正在尝试创建一个 ID 向量,看起来像这样

b = c(1,2,3,3,4,4,2,1,5,6,7,7,8,8,9,9,6,5)

例如这里向量b中的1和2对应一对括号等等..

 [[[][]]][[[][][]]]
1 1

[[[][]]][[[][][]]]
2 2

非常感谢在这方面的任何意见。

最佳答案

很丑

a <- "[[[][]]][[[][][]]]"
s <- unlist(strsplit(a, ''))
i <- cumsum(s == '[') * (s == '[')

while (any(idx <- i == 0)) {
ii <- min(which(idx))
jj <- table(i[1:ii])
i[ii] <- max(as.integer(names(jj[jj < 2])))
}
i
# [1] 1 2 3 3 4 4 2 1 5 6 7 7 8 8 9 9 6 5

关于r - 查找并标记匹配的括号对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61961836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com