var format = 'abc{xdf}efg{dfg}ijk{232}';
var arr = ['d','h','l'];
for(var i=0; i < arr.length; i++){
format = format.replace(/\{.*?\}/, arr[i]);
}
console.log(format);
var str = 'abc{xdf}efg{dfg}ijk{232}';
var arr = ['d', 'h', 'l'];
function replace(str, arr){
var i = 0;
return str.replace(/({.*?})/g, (all,match) => {
return match = arr[i++];
})
}
replace(str, arr);
很简单啊,你就循环你的数组啊,
然后就用当前元素值去替换正则匹配到的内容
至于到后来匹配不到的情况就随你怎么处理了。