You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从字符串数组的每个元素中提取对应的数字部分

JavaScript 提取字符串数组中数字的实现方法

你可以通过数组遍历配合正则匹配的方式实现需求,具体实现代码如下:

// 示例输入数组
let arrayData = [ '99ASD', '01A', '0134-A', '78134:TSX' ]

// 提取每个元素的数字部分
const numberResult = arrayData.map(item => {
  // 匹配所有连续数字片段后拼接为完整数字字符串
  return item.match(/\d+/g).join('')
})

console.log(numberResult) 
// 输出结果:['99', '01', '0134', '78134']

补充说明

  • 核心正则/\d+/g中,\d代表匹配阿拉伯数字,+代表匹配连续1位及以上的数字,g代表全局匹配,会提取字符串中所有符合规则的数字片段
  • 若单个字符串存在多段分散的数字(例如AB12CD34),上述代码会将所有数字拼接为一个完整字符串,得到1234;如果需要保留分段的数字数组,删除.join('')即可
  • 若不需要保留数字的前置0,可将返回值用Number()转换为数值类型:return Number(item.match(/\d+/g).join('')),转换后输出结果为[99, 1, 134, 78134]
  • 兼容无数字场景:如果数组中存在不含数字的字符串,match()会返回null导致报错,可以加兜底逻辑修改为return (item.match(/\d+/g) || []).join(''),无数字的元素会返回空字符串。

内容的提问来源于stack exchange,提问作者Cardoso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:06:01