String.replace表示多个唯一字符和替换

时间:2015-12-01 18:47:30

标签: javascript regex

在阅读了MDN文档以及W3schools之后,我仍然不确定如何使用.replace替换多个特殊字符,并使用自己独特的替代品。

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

例如,如果我传递像dave & dave这样的字符串,我可能想要替换&带有字符“和”的符号,这很简单,但是如果传递给函数的下一个字符串有一个我想用“美元”替换的$。

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

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

但我不确定如何检查多个字符,然后替换为特定的唯一替换。

1 个答案:

答案 0 :(得分:1)

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

var st = "& $ % !";

var replaced = st.replace(/[&$%!]/g, 
  function(piece) {
    var replacements = {
      "&": "and",
      "$": "dollar",
      "%": "pct",
      "!": "bang"
    };
  
    return replacements[piece] || piece;
  });

console.log(replaced);