Javascript 替换以数组作为参数的字符串中的所有匹配项
在Javascript 替换以数组作为参数的字符串中的所有匹配项,javascript,Javascript,在replace()方法中,是否有一种方法可以替换字符串中的所有匹配项,并将数组作为参数 例如: 有以下字符串:“ABCDEFG” 并且有这个数组:['A','D','F'] 是否可以将字符串中的相同字母替换为其他字母?比如: “ABCDEFG”。替换(['A','D','F'],'') 所以最终的结果是:“BCEG”类型: "ABCDEFG".replace(new RegExp(['A','D','F'].join("|")), '') 实际上,有一种方法可以从数组中执行此操作 您需要动
replace()
方法中,是否有一种方法可以替换字符串中的所有匹配项,并将数组作为参数
例如:
有以下字符串:“ABCDEFG”
并且有这个数组:['A','D','F']
是否可以将字符串中的相同字母替换为其他字母?比如:
“ABCDEFG”。替换(['A','D','F'],'')
所以最终的结果是:“BCEG”
类型:
"ABCDEFG".replace(new RegExp(['A','D','F'].join("|")), '')
实际上,有一种方法可以从数组中执行此操作 您需要动态创建正则表达式:
让arr=['A','D','F'];
让表达式=arr.join(“|”);
设rx=newregexp(表达式“g”);
console.log(“ABCDEFG.replace(rx)”)代码>您可以在阵列中循环:
var str=“ABCDEFG”;
['A','D','F'].forEach(c=>str=str.replace(c,'*'))
console.log(str)代码>如果需要数组作为输入:
'ABCDEF'.replace(new RegExp(['A','D','F'].join('|'), 'g'), '')
通过使用“g”标志,它将替换字符串中出现的所有“A”、“D”或“F”
您也可以用一种更简单的方法来实现这一点:
'ABCDEF'.replace(/A|D|F/g, '')
这里有一个通用函数,它使用与其他答案类似的正则表达式,但允许您传入任何您喜欢的替换字符串:
const str='ABCDEFG';
常数arr=['A','D','F'];
功能替换(str、arr、r){
const regex=new RegExp(arr.join(“|”),“g”);
return str.replace(regex,p=>r);
}
控制台日志(替换(str,arr,);
日志(替换(str,arr,'bob')
是的“ABCDEFG”。替换(/A | D | F/g),
就可以了,或者它必须与数组一起动态?不在替换
方法中(假设您不想触摸原型)。您可以编写自己的函数,though@Leyffda是一个动态数组,无论如何这给了我一个想法