我需要将所有%25替换为 puidInp 中的%,但仅限于 newPuidsValues 中提到的字词。 我试图用循环来解决它,但它一次只改变一个单词:
var newPuidsValues = ["banner.tracking_url", "banner.userN", "banner.alt"];
var puidInp = "tyhtyh%25banner.tracking_url%25tyhtyh%25banner.userN%25tyhtyh%25banner.userN%25tyhtyh%25banner.alt%25tyhtyh";
for (var h = 0; h < newPuidsValues.length; h++) {
const reg = new RegExp("\\D{1}\\d{2}" + newPuidsValues[h] + "\\D{1}\\d{2}", "g");
console.log(reg);
var puidOut = puidInp.replace(reg, "%" + newPuidsValues[h] + "%");
console.log(puidOut);
}
&#13;
答案 0 :(得分:1)
对代码进行一些小改动:
puidOut
puidOut
的初始值设置为puidInp
%25
以仅捕获所需的值puidOut
var newPuidsValues = ["banner.tracking_url", "banner.userN", "banner.alt"];
var puidInp = "tyhtyh%25banner.tracking_url%25tyhtyh%25banner.userN%25tyhtyh%25banner.userN%25tyhtyh%25banner.alt%25tyhtyh";
var puidOut = puidInp;
for (var h = 0; h < newPuidsValues.length; h++) {
const reg = new RegExp("%25" + newPuidsValues[h] + "%25", "g");
console.log(reg);
puidOut = puidOut.replace(reg, "%" + newPuidsValues[h] + "%");
}
console.log(puidOut);