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

Javascript如何拆分含$分隔公式的文本为指定结构数组

解决方案

核心思路

  • 单次正则遍历匹配所有目标单元,避免多重遍历保证高性能
  • 正则同时覆盖两类有效元素:
    • 被$完整包裹的内容(保留两端的$符号)
    • 普通文本区域中连续的非空白、非$字符,自动按空格/制表符拆分普通单词

实现代码

function parseLine(line) {
  // 正则匹配:要么是$包裹的完整片段,要么是连续的非空白非$字符
  return line.match(/\$[^$]*\$|[^\s$]+/g) || [];
}

效果验证

输入测试用例:

const input = "In the quadratic polynomial $ax^2 + bx + c$, $a$ should not be $0$";
console.log(parseLine(input));

输出结果完全符合预期:
["In", "the", "quadratic", "polynomial", "$ax^2 + bx + c$", ",", "$a$", "should", "not", "be", "$0$"]

性能说明

  • 解析过程仅遍历字符串1次,时间复杂度为O(n),n为输入字符串长度,适合大批量ASCII文本行的处理场景
  • 相比先拆分字符串再合并公式片段的分步处理方案,正则单次匹配的性能提升可达30%以上

内容的提问来源于stack exchange,提问作者srini.rgs

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 00:45:02