Javascript String.replace用于多个唯一字符和替换

Javascript String.replace用于多个唯一字符和替换,javascript,regex,Javascript,Regex,在阅读了MDN文档以及W3schools之后,我仍然不确定如何使用.replace来替换多个特殊字符,所有这些字符都有自己独特的替换 因此,如果我编写一个函数,将一个字符串作为参数,那么该字符串每次都可能不同,每个字符串中都有特殊字符。我希望能够编写一个replace语句来检查这些特殊字符,然后根据找到的特殊字符,用相应的唯一替换来替换该字符 例如,如果我传递一个字符串,如dave&dave,我可能想用字符“and”替换&symbol,这很简单,但是如果传递给函数的下一个字符串有一个$,我想用“

在阅读了MDN文档以及W3schools之后,我仍然不确定如何使用.replace来替换多个特殊字符,所有这些字符都有自己独特的替换

因此,如果我编写一个函数,将一个字符串作为参数,那么该字符串每次都可能不同,每个字符串中都有特殊字符。我希望能够编写一个replace语句来检查这些特殊字符,然后根据找到的特殊字符,用相应的唯一替换来替换该字符

例如,如果我传递一个字符串,如
dave&dave
,我可能想用字符“and”替换&symbol,这很简单,但是如果传递给函数的下一个字符串有一个$,我想用“dollar”替换怎么办

我可以为一个唯一的字符创建这样一个函数,替换如下:

string.replace(/&/g, "and");

但我不知道如何检查多个字符,然后用特定的唯一替换字符进行替换。

您可以使用替换功能,例如:

var st=“&$%!”;
var替换=标准替换(/[&$%!]/g,
功能(件){
变量替换={
“&”:“和”,
“$”:“美元”,
“%”:“pct”,
“!”:“砰”
};
返回替换件[件]| |件;
});

控制台日志(已替换)
您可以将
replace
string那样堆叠。replace(/&/g,'and')。replace(/$/g,'dollar')@depperm:这叫做链接。@Chirpizard:看到这个了。@Stribizev很好的解决方案,类似于下面发布的解决方案。我认为这一点实际上更容易理解。谢谢分享!好吧,我想结束你的问题,但。。。不,这行得通!我唯一不明白的是传递到函数中的
piece
参数。要替换的
/符号如何作为参数传递?也感谢您提供此解决方案!当您将函数作为第二个参数传递时,
replace
就是这样做的。它会将每个匹配项传递给您的函数,然后您返回该匹配项的替换项。太棒了。谢谢你的解释!