【发布时间】:2015-12-01 18:47:29
【问题描述】:
在阅读了 MDN 文档以及 W3schools 之后,我仍然不确定如何使用 .replace 将多个特殊字符全部替换为它们自己的唯一替换。
因此,如果我编写一个将字符串作为参数的函数,则该字符串可能每次都不同,每个字符串中都有特殊字符。我希望能够编写一个替换语句来检查这些特殊字符,然后根据找到的特殊字符,用相应的唯一替换替换该字符。
举个例子,如果我传递一个像 dave & dave 这样的字符串,我可能想用字符“and”替换 & 符号,这很简单,但是如果传递给函数的下一个字符串有一个$ 我想用“美元”替换。
我可以为单个唯一字符创建这样的函数,替换如下:
string.replace(/&/g, "and");
但我不确定如何检查多个字符,然后用特定的唯一替换项替换。
【问题讨论】:
-
你可以像
string.replace(/&/g,'and').replace(/$/g,'dollar');一样堆叠replace -
@depperm:这叫做chaining。
-
@Chirpizard:看到这个demo。
-
@stribizhev 不错的解决方案,类似于下面发布的解决方案。我认为这个实际上更容易理解。感谢分享!
-
好的,我会把你的问题作为Efficiently replace all accented characters in a string?的骗子来结束,但是......不。
标签: javascript regex