使用 JavaScript 替换字符串中的所有数字

要替换字符串中的所有数字,请调用 replace() 方法,将全局匹配所有数字的正则表达式作为第一个参数传递给它,将替换字符串作为第二个参数传递给它。

replace() 方法将返回一个新字符串,其中所有匹配项都被提供的替换项替换。

const str = 'a1 b2 c3';

const replaced = str.replace(/[0-9]/g, '!');
console.log(replaced); // ?️ a! b! c!

我们将以下参数传递给 String.replace 方法:

  1. 我们要在字符串中匹配的正则表达式。 出于我们的目的,所有 0-9 的数字
  2. 每个匹配项的替换字符串

方括号 [] 称为字符类。 示例中的字符类匹配 0 到 9 范围内的所有数字。

我们使用 g (全局)标志是因为我们想要匹配字符串中出现的所有数字,而不仅仅是第一次出现的数字。

如果大家在阅读正则表达式方面需要帮助,请查看我们的正则表达式教程。

replace 方法不会更改原始字符串,它会返回一个替换了一个或多个匹配项的新字符串。 字符串在 JavaScript 中是不可变的。

该示例使用感叹号作为替换,但是我们可以使用适合您的用例的任何替换字符串,例如 一个下划线。

const str = 'a1 b2 c3';

const replaced = str.replace(/[0-9]/g, '_');
console.log(replaced); // ?️ a_ b_ c_

等效的正则表达式是使用 \d 特殊字符。

const str = 'a1 b2 c3';

const replaced = str.replace(/\d/g, '!');
console.log(replaced); // ?️ a! b! c!

\d 特殊字符匹配任何数字 0-9。 它实现与 [0-9] 相同的结果。