📅  最后修改于: 2023-12-03 15:16:08.343000             🧑  作者: Mango
在JavaScript中,我们可以使用正则表达式来删除字符串中的非数字字符。以下是实现此操作的代码示例:
const str = 'a1b2c3d4';
const numStr = str.replace(/\D/g, '');
console.log(numStr);
// 输出 '1234'
解释:
str
。replace
方法,第一个参数传入一个正则表达式 / \ D / g
。/ \ D / g
是一个全局正则表达式。\D
是一个特殊字符类,表示非数字字符。''
,它将替换所有非数字字符。replace
方法返回已删除非数字字符的新字符串,并将其存储在 numStr
变量中。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'
解释:
str
。for
循环遍历字符串的每个字符。我们将遍历字符串 str
的每个字符,并将其存储在变量 i
中。isNaN()
方法检查字符是否为数字。使用 parseInt()
方法将字符转换为数字。如果是数字,isNaN()
将返回 false。numStr
中。console.log()
输出已删除非数字字符的新字符串 numStr
,它应该打印出 1234
,表示字符串中所有非数字字符已被删除。这两种方法都可以从字符串中删除所有非数字字符。对于大量数据,请使用正则表达式方法,因为它比循环更快。