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

如何使用正则表达式按指定规则拆分复杂字符串为目标分段

正则实现字符串拆分方案

结构分析

待处理字符串规则非常清晰:

  • 独立条目之间用#分隔,字符串末尾自带一个多余的尾缀#,提前裁剪即可
  • 单个条目固定为「名称,数值1,数值2」的逗号分隔格式,拆分后需要把名称、「数值1,数值2」分别单独占一行输出

核心正则

对拆分后的单个条目,使用以下正则即可完成两部分内容的捕获:

/^([^,]+),(\d+,\d+)$/

捕获组说明:

  • 第一个捕获组匹配第一个逗号前的所有内容,即条目名称
  • 第二个捕获组匹配第一个逗号后到条目末尾的数字串,即需要输出的数值对

完整处理示例(JavaScript实现)

const raw = "My Dogs,213,220#Gallery,635,210#Screenshot,219,530#Good Morning,412,408#";
const output = raw
  .slice(0, -1) // 移除末尾多余的#
  .split('#')
  .flatMap(seg => {
    const [, name, numPair] = seg.match(/^([^,]+),(\d+,\d+)$/);
    // 如果确实需要把"My Dogs"的空格移除,在这里加判断替换name的空格即可,默认保留名称原始格式
    return [name, numPair];
  })
  .join('\n');

执行后输出结果和预期格式完全一致。

提示:你给出的预期结果里首条的MyDogs(原串是带空格的My Dogs)、213,229(原串是213,220)属于笔误,如果确实需要对特定条目的名称、数值做修改,在遍历条目的逻辑里加对应判断处理即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:03:12