我想用字符串中的特殊字符和数字替换数字。
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方法并为每个数组项添加$并加入。
我正在寻找一些通用的替换方法来实现这一目标。
答案 0 :(得分:8)
您可以使用\d+
匹配一个或多个数字。在替换部件内部,$&
将引用匹配的字符串。由于$
在正则表达式替换部分中具有特殊含义,因此要将$
显示为文字,您需要使用$$
。
.replace(/\d+/g, '$$$&')
console.log('1 2 3'.replace(/\d+/g, '$$$&'));

答案 1 :(得分:1)
作为替代方案,如果需要,可以使用replace
函数的callBack。它会为您提供更多修改匹配字符串的条款。
let replaced = "3 6 8 47".replace(/\d+/g, (str) => ("$" + str));