sampleText='6501-*-5-[*]'


预期产量

 result='6501-%-5-[*]'


我必须将*替换为%,并按原样保留[*]。两者可能多次发生。
我们如何在javascript中做到这一点。提前致谢。

最佳答案

尝试这个:

sampleText = sampleText.replace(/\*/g, function(match, offset){
    if(offset > 0) {
        if(sampleText[offset - 1] == '[' && sampleText[offset + 1] == ']'){
            return match;
        }
    }
    return '%';
});


小提琴:here

09-25 15:46