您的位置:首页 > Web前端 > JavaScript

js 字符串替换数组元素一 一对应

2017-11-13 21:06 113 查看
例如有一个文本
'abc{xdf}efg{dfg}ijk{232}'


正则是
{.*?}
,匹配每一个{}里面的东西

现在我有一个数组
['d','h','l']


请问怎么才能用数组按顺序替换掉{}里的内容,变成
abcdefghijkl


注意实际情况是数组的长度是未知的,也就是说正则匹配到的个数是未知的。

解决方案:

var str = 'abc{xdf}efg{dfg}ijk{232}';
var arr = ['d', 'h', 'l'];
var result = str.match(/\{.*?\}/g);
for (var i = 0; i < result.length; i++) {
str = str.replace(result[i], arr[i])
}
console.log(str);
//abcdefghijkl
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: