📌  相关文章
📜  javascript 从字符串保留点中删除非数字字符 - Javascript (1)

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

JavaScript 从字符串中删除非数字字符

在开发的过程中,我们通常需要从字符串中提取数字信息。然而,字符串中可能包含非数字字符,这会干扰我们的操作。本文将介绍如何使用 JavaScript 从字符串中保留数字字符,并删除非数字字符。

方法一:使用正则表达式

我们可以使用正则表达式来提取字符串中的数字字符,然后将它们合并为一个新的字符串。以下是一个示例代码片段:

const str = "My age is 26 years old, and my salary is $4000 per month.";
const numStr = str.match(/\d+/g).join('');
console.log(numStr); // "26 4000"

上述代码中,我们使用 match() 方法和正则表达式 /d+/g 来匹配字符串中的数字字符,并将它们存储在一个数组中。然后,我们使用 join() 方法将数组中的数字字符合并为一个新的字符串。最终,我们可以使用 console.log() 来输出结果。

然而,这个方法存在一个问题,就是它会将数字之间的空格保留下来。接下来,我们将介绍一个更好的方法来解决这个问题。

方法二:使用循环和 ASCII 码

我们可以使用循环和 ASCII 码来遍历字符串中的每个字符,并将数字字符存储在一个新的字符串中。以下是一个示例代码片段:

const str = "My age is 26 years old, and my salary is $4000 per month.";
let numStr = '';

for(let i = 0; i < str.length; i++) {
  const charCode = str.charCodeAt(i);
  if(charCode >= 48 && charCode <= 57) {
    numStr += str.charAt(i);
  }
}

console.log(numStr); // "264000"

上述代码中,我们遍历字符串中的每个字符,并使用 charCodeAt() 方法获取 ASCII 码。如果 ASCII 码处于数字字符的范围内(即 48 到 57),我们将字符添加到新的字符串中。最终,我们使用 console.log() 来输出结果。

总结

本文介绍了两种方法来从字符串中保留数字字符,并删除非数字字符。第一种方法使用了正则表达式,而第二种方法使用了循环和 ASCII 码。你可以根据自己的需要选择其中一种方法来实现字符串操作。