📌  相关文章
📜  JavaScript |从字符串中删除所有非数字字符(1)

📅  最后修改于: 2023-12-03 15:16:08.343000             🧑  作者: Mango

JavaScript | 从字符串中删除所有非数字字符

在JavaScript中,我们可以使用正则表达式来删除字符串中的非数字字符。以下是实现此操作的代码示例:

const str = 'a1b2c3d4';
const numStr = str.replace(/\D/g, '');
console.log(numStr);
// 输出 '1234'

解释:

  1. 我们需要删除非数字字符的字符串是 str
  2. 使用 replace 方法,第一个参数传入一个正则表达式 / \ D / g
  3. / \ D / g 是一个全局正则表达式。\D 是一个特殊字符类,表示非数字字符。
  4. 接下来,我们需要传递一个空字符串 '',它将替换所有非数字字符。
  5. 最后 replace 方法返回已删除非数字字符的新字符串,并将其存储在 numStr 变量中。
  6. 使用 console.log() 打印 numStr,它应该打印出 1234,表示字符串中所有非数字字符已被删除。

除了上述方法之外,我们还可以使用循环遍历字符串的每个字符,并将其与数字字符相比较。如果该字符是数字,则将其添加到新字符串中,否则跳过。以下是这种方法的代码示例:

const str = 'a1b2c3d4';
let numStr = '';
for (let i = 0; i < str.length; i++) {
    if (!isNaN(parseInt(str[i]))) {
        numStr += str[i];
    }
}
console.log(numStr);
// 输出 '1234'

解释:

  1. 我们需要删除非数字字符的字符串是 str
  2. 使用 for 循环遍历字符串的每个字符。我们将遍历字符串 str 的每个字符,并将其存储在变量 i 中。
  3. 使用 isNaN() 方法检查字符是否为数字。使用 parseInt() 方法将字符转换为数字。如果是数字,isNaN() 将返回 false。
  4. 如果字符是数字,则将其添加到新字符串 numStr 中。
  5. 最后使用 console.log() 输出已删除非数字字符的新字符串 numStr,它应该打印出 1234,表示字符串中所有非数字字符已被删除。

这两种方法都可以从字符串中删除所有非数字字符。对于大量数据,请使用正则表达式方法,因为它比循环更快。