str.replace中替换的字符串存在变量时该怎么替换的问题

replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换。

上面这段代码,只能替换第一个字符“啊”,第二个“啊”就无法替换,这样就没办法满足大多数使用js(replace)的需求。

这样,就满足了变量替换的方式。

替换变量还需要注意的是

extractVarArr.map(item => { const _strInit =${${item}}; const _str =\$\{${item}\}; // 必须要加// const _strGlobal =/${_str}/g; let _v = ''; if (item === e.target.name) { _v = e.target.value; } else { _v = getFieldValue(item); } const evalStr = eval(_strGlobal); previewTpl = previewTpl.replace(evalStr, _v || _strInit); });
对于 $ { }这三个特殊字符要进行转义。需要特别注意的是 _str需要加//,即转义两次

你可能感兴趣的:(str.replace中替换的字符串存在变量时该怎么替换的问题)