编写一个函数,它接受一个字符串,将所有出现的数字字符[0 ... 9]替换为1337

时间:2016-06-22 00:05:57

标签: javascript jquery string replace

编写一个函数,该函数将一个字符串替换为所有出现的数字[0 ... 9]为1337 这就是我到目前为止所做的:

  var originalString= "You are 26 and I am 3 and she is 5";
  (originalString).replace(3, '1337');

2 个答案:

答案 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字符范围内的任何字符。

干杯,