编写一个函数,该函数将一个字符串替换为所有出现的数字[0 ... 9]为1337 这就是我到目前为止所做的:
var originalString= "You are 26 and I am 3 and she is 5";
(originalString).replace(3, '1337');
答案 0 :(得分:1)
我需要编写一个函数,将字符串中的数字0-9替换为' 1337'
(看起来很奇怪),你去吧
var originalString = "You are 26 and I am 3 and she is 5";
var modifiedString = originalString.replace(/\d/g, '1337');
console.log( modifiedString );

将用1337替换每一个数字。
如果您希望替换多位数(NN === 1337)
var originalString = "You are 26 and I am 3 and she is 5";
var modifiedString = originalString.replace(/\d+/g, '1337');
console.log( modifiedString );

...这是功能
function replaceNumWith1337( string ) {
return string.replace(/\d/g, '1337'); // or use /\d+/g RegExp
}
console.log( replaceNumWith1337("You are 26 and I am 3 and she is 5") );

答案 1 :(得分:0)
如果您只想替换0-9之间的数字(正如我从您的问题中所理解的那样),那么这一串正则表达式应该可以工作:
/\b[0-9]\b/g
所以你的代码会变成这样:
var originalString = "You are 26 and I am 3 and she is 5";
var modifiedString = originalString.replace(/\b[0-9]\b/g, '1337');
console.log( modifiedString );

如果您不熟悉正则表达式,那么可以快速了解为什么会这样做。
\b
表示单词边界,A.K.A表示单词的开头或开头。 [0-9]
只表示0-9范围内ASCII字符范围内的任何字符。
干杯,