gpt4 book ai didi

javascript - 替换嵌套括号中的内容

转载 作者:行者123 更新时间:2023-11-29 16:05:46 37 4
gpt4 key购买 nike

输入 = ABCDEF ((3) abcdef),GHIJKLMN ((4)(5) 值),OPQRSTUVW((4(5)) 值 (3))

预期输出 = ABCDEF,GHIJKLMN,OPQRSTUVW

到目前为止尝试过

Output = Input.replace(/ *\([^)]*\)*/g, "");

最佳答案

在这里使用正则表达式可能不会起作用或无法缩放,因为您希望在输入字符串中嵌套 括号。当输入具有已知且固定的结构时,正则表达式可以很好地工作。相反,我建议您使用解析器 来解决这个问题。在下面的代码中,我遍历了输入字符串,一次一个字符,我使用一个计数器来跟踪有多少个左括号。如果我们在括号项内,那么我们不会记录这些字符。我最后还有一个简单的替换来删除空格,这是您的输出暗示的额外步骤,但您从未明确提及。

var pCount = 0;
var Input = "ABCDEF ((3) abcdef),GHIJKLMN ((4)(5) Value),OPQRSTUVW((4(5)) Value (3))";
var Output = "";
for (var i=0; i < Input.length; i++) {
if (Input[i] === '(') {
pCount++;
}
else if (Input[i] === ')') {
pCount--;
}
else if (pCount == 0) {
Output += Input[i];
}
}

Output = Output.replace(/ /g,'');
console.log(Output);

关于javascript - 替换嵌套括号中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43114069/

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