📌  相关文章
📜  从字符串中删除所有字符并仅保留数字 javascript (1)

📅  最后修改于: 2023-12-03 14:49:23.753000             🧑  作者: Mango

从字符串中删除所有字符并仅保留数字 Javascript

在Javascript中,我们可以用不同的方法来从字符串中删除所有的字符并保留数字。以下是一些可能有用的方法。

方法一:使用replace()函数

我们可以使用replace()函数使用正则表达式来删除字符串中的所有非数字字符。以下是一个示例代码片段:

let str = 'abc123def456';
let numStr = str.replace(/\D/g, '');
console.log(numStr); // 输出: "123456"

解释:

  • /\D/g 是一个表示所有非数字字符的正则表达式。
  • \D 表示不是数字的字符。
  • g 表示全局匹配,即将所有符合条件的字符都替换。
  • 在replace()函数中,我们用空字符串 "" 替换了所有匹配到的非数字字符。
方法二:使用正则表达式

我们也可以使用正则表达式的test()函数来检测字符串中的所有非数字字符。以下是一个示例代码片段:

let str = 'abc123def456';
let numStr = '';
for (let i = 0; i < str.length; i++) {
    if (/\d/.test(str[i])) {
        numStr += str[i];
    }
}
console.log(numStr); // 输出: "123456"

解释:

  • /d 是一个表示数字字符的正则表达式。
  • /\d/.test(str[i]) 检测字符串str[i]是否为数字字符。
  • 如果是数字字符,我们将其添加到numStr中。
方法三:使用parseInt()函数

parseInt()函数可以将字符串转换为数字,但所有非数字字符都会被忽略。以下是一个示例代码片段:

let str = 'abc123def456';
let numStr = '';
for (let i = 0; i < str.length; i++) {
    num = parseInt(str[i]);
    if (!isNaN(num)) {
        numStr += num;
    }
}
console.log(numStr); // 输出: "123456"

解释:

  • parseInt(str[i]) 将字符串str[i]转换为数字。
  • 如果str[i]不是数字,parseInt()函数返回NaN。
  • !isNaN(num) 检测num是否为数字,如果是数字,我们将其添加到numStr中。

以上是几个从字符串中删除所有字符并仅保留数字的方法。