Closed. This question needs to be more
focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过
editing this post专注于一个问题。
6个月前关闭。
我有以下代码:
const chaine = 'lorem {{name}} lorem lorem {{name}}..." ;
我需要用这样的数组元素替换所有{{name}}
cont list = ['java', 'regex']
所以预期的结果是
lorem java lorem lorem regex...
注意:
字符串中的{{name}}数字是可变的
数组元素的长度是可变的,我们可以有1..N
谢谢
您可以寻找替换值并从list
获取项目。
var string = 'lorem {{name}} lorem lorem {{name}}...',
list = ['java', 'regex'],
result = string.replace(/\{\{name\}\}/g, (i => _ => list[i++])(0));
console.log(result);
通过为索引的每个属性获取一个对象和一个属性,可以得到一种更高级的版本。
var string = 'lorem {{name}} lorem lorem {{name}}, {{foo}}...',
replacements = { name: ['java', 'regex'], foo: ['bar'] },
result = string.replace(/\{\{([^}]+)\}\}/g, (_, key) => {
if (!(key in replacements)) return key;
replacements['_' + key] = replacements['_' + key] || 0;
return replacements[key][replacements['_' + key]++];
});
console.log(result);