【发布时间】:2020-08-11 23:14:25
【问题描述】:
我想知道是否有一种优雅的方法可以根据左括号附近的内容来查找和替换匹配的代码括号。例如,我可能想转换:
// code for random_number() function
for(i in 1:5){
print(i);
mean(c(1,2,random_number()))
sd(c(4,5,6))
}
进入:
// code for random_number() function
for(i in 1:5){
print(i);
mean([1,2,random_number()])
sd([4,5,6])
}
因为我要做的就是将“c(1,2,3)”转换为“[1,2,3]”(以及“c(4,5,6)”转换为“[4,5, 6]”)。我想在这样的脚本中识别与“c(”相对的右括号。
我不想更改任何其他的开始和结束括号。有没有一种优雅的方式来做到这一点?我找到的最接近的东西是Javascript replace opening and closing brackets,但它似乎更像是一种将所有括号替换为偶尔例外的方法,而不是特定括号但忽略大多数。
我唯一的想法是计算括号的开始和结束,但至少可以这么说,这看起来很丑陋。有没有更整洁的方式?
【问题讨论】:
-
func(1,2,3)呢? -
抱歉 - 我不确定我是否关注,您能详细说明一下吗? (如果相关,这些数字只是示例数字)
-
可能有函数以
c结尾,而(a, b, c)等参数不是数组。根据您的书面逻辑,func(1, 2, 3)最终将被替换为fun[1, 2, 3]。我不知道您的用例或环境 - 只是需要注意的事情。 -
那...这是一个很好的观点。感谢您的提醒!
标签: javascript