从 JavaScript 中的字符串中删除所有数字

要从字符串中删除所有数字,请调用 replace() 方法,将匹配所有数字的正则表达式作为第一个参数传递给它,并将空字符串作为第二个参数传递。 replace() 方法将返回一个不包含任何数字的新字符串。

const str = 'a1 b2 c3';

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

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

  1. 我们要在字符串中匹配的正则表达式 – 在我们的例子中,我们要匹配从 0 到 9 的所有数字
  2. 每个匹配的替换字符串 – 出于我们的目的,一个空字符串,因为我们要删除所有数字

正则表达式的方括号 [] 部分称为字符类。在我们的字符类中,我们匹配 0-9 范围内的所有数字。

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

如果我们在阅读正则表达式时需要帮助,请查看我们的正则表达式教程。这绝对是最好的。

一个等价的正则表达式,就是使用 \d 特殊字符。

const str = 'a1 b2 c3';

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

\d 特殊字符匹配 0-9 范围内的任何数字。 它实现了与我们之前使用 [0-9] 的正则表达式相同的目标。