检查字符串是否包含数字?如果是,则用另一个字符串替换该数字

时间:2019-04-25 09:16:55

标签: javascript string

我有一个字符串,我需要检查该字符串是否包含任何数字。我发现了很多答案,它们仅返回true或false Like this。 但是我要确定的是该数字,然后用另一个字符串替换它。 例如,

let myString = "/example/123/anotherstring" 

let myString = "/example/anotherstring/123"

字符串可以像上面一样。 预期的输出是123,应该用任何其他字符串替换。喜欢

let expectedString = "/example/replaced/anotherstring" 

let expectedString = "/example/anotherstring/replaced"

我知道解决此问题的一种方法是,循环此字符串并找到数字的位置,然后替换它。但是我不想那样做。有更好的方法吗?

注意:该数字可以是任何数字,不是静态/已知数字。因此this对我没有帮助。

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

为此,您可以使用string replace(),传递所需的正则表达式来满足您的要求。

let myString = "/example/123/anotherstring" 
let newString = myString.replace(/\d+/g, "replaced")
console.log(newString)

 myString = "/example/anotherstring/123"
 newString = myString.replace(/\d+/g, "replaced")
 console.log(newString)

答案 1 :(得分:0)

您可以使用\d+

let myString = "/example/123/anotherstring" 

const checkNums = (str) => str.replace(/\d+/g,"replaced")

console.log(checkNums(myString))

答案 2 :(得分:0)

只需使用正则表达式将所有数字替换为替代字符串即可:

const myString = "/example/123/anotherstring";
const expectedString = myString.replace(/[0-9]+/g, "alternativestring")
console.log(expectedString);