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

如何用正则表达式在JavaScript中按前缀过滤字符串数组

按指定前缀筛选字符串生成新数组

需求说明

从分割后的字符串数组中,分别筛选出以OG(原始工单)和NW(新工单)开头的字符串,生成两个独立数组。

原始字符串:

const originalString = "4162416245/OG74656489/OG465477378/NW4124124124/NW41246654";

分割后的数组:

const splitArr = originalString.split('/');
// 结果:["4162416245", "OG74656489", "OG465477378", "NW4124124124", "NW41246654"]

预期输出:

  • ogArr = ["OG74656489", "OG465477378"]
  • nwArr = ["NW4124124124", "NW41246654"]

实现方案

方法1:使用startsWith方法(ES6+)

startsWith方法可直接判断字符串是否以指定前缀开头,代码简洁直观:

const originalString = "4162416245/OG74656489/OG465477378/NW4124124124/NW41246654";
const splitArr = originalString.split('/');

// 筛选OG前缀的数组
const ogArr = splitArr.filter(item => item.startsWith('OG'));
// 筛选NW前缀的数组
const nwArr = splitArr.filter(item => item.startsWith('NW'));

console.log(ogArr); // ["OG74656489", "OG465477378"]
console.log(nwArr); // ["NW4124124124", "NW41246654"]

方法2:使用indexOf方法(兼容旧环境)

如果需要支持不兼容ES6的旧环境,可通过indexOf判断前缀是否处于字符串起始位置:

const originalString = "4162416245/OG74656489/OG465477378/NW4124124124/NW41246654";
const splitArr = originalString.split('/');

// 筛选OG前缀的数组
const ogArr = splitArr.filter(item => item.indexOf('OG') === 0);
// 筛选NW前缀的数组
const nwArr = splitArr.filter(item => item.indexOf('NW') === 0);

console.log(ogArr); // ["OG74656489", "OG465477378"]
console.log(nwArr); // ["NW4124124124", "NW41246654"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 22:12:25