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

OpenAI返回主题行字符串,按数字分割转数组失败求解决

解决带数字序号的邮件主题字符串分割问题

问题场景

从OpenAI获取的邮件主题返回结果是带数字序号的字符串,使用split('/[0-9]+\./')无法正确分割,所有内容仍处于单个数组索引中,需要提取出纯主题内容组成目标数组。

错误原因

split方法传入字符串形式的'/[0-9]+\./'会被当作普通文本分割符,而非正则表达式,导致分割失效。

正确实现代码

var choices = '1. "Don\'t Miss Out: Exclusive Deals Inside!" 2. "Hurry! Limited Time Offer Inside" 3. "Unlock Savings: Open This Email Now" 4. "Last Chance to Save Big"';
// 用正则表达式匹配数字序号作为分割符
var splitArr = choices.split(/\d+\.\s/);
// 过滤空元素并清理主题内容(去除首尾引号和空格)
var result = splitArr.filter(item => item.trim() !== '')
                     .map(item => item.trim().replace(/^"|"$/g, ''));
console.log(result);

代码说明

  • split(/\d+\.\s/):使用正则字面量匹配「一个或多个数字+句号+空格」的序号格式,以此作为分割符拆分字符串。
  • filter(item => item.trim() !== ''):过滤分割后产生的空字符串(分割符在开头时会生成空元素)。
  • map(item => item.trim().replace(/^"|"$/g, '')):先去除每个主题内容的前后空格,再通过正则去除首尾的双引号,得到纯净的主题文本。

输出结果

["Don't Miss Out: Exclusive Deals Inside!","Hurry! Limited Time Offer Inside","Unlock Savings: Open This Email Now","Last Chance to Save Big"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 11:57:22