有这样类型的字符串和数据 '端口号为s%-s%',数据为[200, 3000]
替换成端口号为200-3000
,取值为s%,数据为[50]
替换成取值为50
如上 s%的个数是未知的,数据长度和个数是一致的。
请问怎么替换?谢谢。
有这样类型的字符串和数据 '端口号为s%-s%',数据为[200, 3000]
替换成端口号为200-3000
,取值为s%,数据为[50]
替换成取值为50
如上 s%的个数是未知的,数据长度和个数是一致的。
请问怎么替换?谢谢。
function replaceStr(template, data) {
let result = template;
let dataIndex = 0;
while (result.includes('s%')) {
result = result.replace('s%', data[dataIndex]);
dataIndex++;
}
return result;
}
const str1 = '端口号为s%-s%';
const data1 = [200, 3000];
console.log(replaceStr(str1, data1)); // 输出:端口号为200-3000
const str2 = '取值为s%';
const data2 = [50];
console.log(replaceStr(str2, data2)); // 输出:取值为50
10 回答11.4k 阅读
4 回答3.3k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
2 回答3.6k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
正则匹配,然后下标向后移动即可:
使用: