如何在JavaScript(ES6)中从指定格式字符串提取数字
提取字符串中的唯一数字(ES6环境)
嘿,这事儿很简单!针对你这种仅包含一组数字的字符串,在ES6里有几种直观的方法可以快速提取出数字,我给你梳理两个最常用的:
方法一:使用match()配合正则表达式
利用正则匹配连续的数字,因为字符串里只有一组数字,直接取匹配结果的第一个元素就行:
let str = "url(#123456)"; // 提取数字字符串 const numStr = str.match(/\d+/)[0]; // 结果:"123456" // 若需要转换成数字类型,可直接用+号或Number() const num = +numStr; // 结果:123456
容错优化
如果担心极端情况(比如字符串意外没有数字),可以用ES6的可选链操作符避免报错:
const numStr = str.match(/\d+/)?.[0] || '';
方法二:使用replace()清除非数字字符
把字符串里所有非数字的字符替换为空,剩下的就是我们要的数字:
let str = "url(#123456)"; // 提取数字字符串 const numStr = str.replace(/\D/g, ''); // 结果:"123456" // 转数字类型 const num = Number(numStr); // 结果:123456
这里/\D/g里的\D匹配所有非数字字符,g表示全局匹配,确保把所有非数字内容都清空。
内容的提问来源于stack exchange,提问作者Sourabh Banka
相关产品推荐
相关产品推荐

