用数字和特殊字符替换数字

时间:2017-05-26 09:15:03

标签: javascript regex replace

我想用字符串中的特殊字符和数字替换数字。

Ex。“3 6 8 47”,预期产量为“$ 3 $ 6 $ 8 $ 47”。

我可以使用替换方法并实现如下:

var content = "1 3 4";
content = content.replace(/1/g, " $1 ");
console.log(content); // $1 3 4

在这里,我只能替换一个号码,我确实想为每个号码写字。

或者我可以使用split方法并为每个数组项添加$并加入。

我正在寻找一些通用的替换方法来实现这一目标。

2 个答案:

答案 0 :(得分:8)

您可以使用\d+匹配一个或多个数字。在替换部件内部,$&将引用匹配的字符串。由于$在正则表达式替换部分中具有特殊含义,因此要将$显示为文字,您需要使用$$

.replace(/\d+/g, '$$$&')



console.log('1 2 3'.replace(/\d+/g, '$$$&'));




More info on MDN

答案 1 :(得分:1)

作为替代方案,如果需要,可以使用replace函数的callBack。它会为您提供更多修改匹配字符串的条款。

let replaced = "3 6 8 47".replace(/\d+/g, (str) => ("$" + str));
相关问题