📅  最后修改于: 2023-12-03 14:49:23.753000             🧑  作者: Mango
在Javascript中,我们可以用不同的方法来从字符串中删除所有的字符并保留数字。以下是一些可能有用的方法。
我们可以使用replace()函数使用正则表达式来删除字符串中的所有非数字字符。以下是一个示例代码片段:
let str = 'abc123def456';
let numStr = str.replace(/\D/g, '');
console.log(numStr); // 输出: "123456"
解释:
/\D/g
是一个表示所有非数字字符的正则表达式。 \D
表示不是数字的字符。 g
表示全局匹配,即将所有符合条件的字符都替换。 我们也可以使用正则表达式的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]是否为数字字符。 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]转换为数字。 !isNaN(num)
检测num是否为数字,如果是数字,我们将其添加到numStr中。 以上是几个从字符串中删除所有字符并仅保留数字的方法。