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

如何在仅已知字符串其中一段的情况下将字符串拆分为左右两部分

JavaScript 按已知子串拆分原字符串的实现方案

核心实现逻辑为定位已知子串在原字符串中的位置,通过索引计算完成拆分,无需额外设置分隔符。返回结果的第一位固定为原字符串的左侧段(包含已知子串),第二位固定为原字符串的右侧剩余段,可直接区分左右部分。

函数实现

function splitBySegment(subject, known) {
  const startIndex = subject.indexOf(known)
  // 未匹配到已知子串时可根据业务需求调整返回逻辑,此处默认返回原串和空字符串
  if (startIndex === -1) return [subject, '']
  const splitPos = startIndex + known.length
  return [
    subject.slice(0, splitPos),
    subject.slice(splitPos)
  ]
}

使用示例

const subject = 'foobar';
const known = 'foo';
const [left, right] = splitBySegment(subject, known);

console.log(left, right); // 输出:foo bar

拓展说明

  • 若需要匹配最后一次出现的已知子串,将代码中的indexOf替换为lastIndexOf即可
  • 若需要按已知子串第N次出现的位置拆分,可先遍历统计所有匹配的起始索引,再取对应位置计算拆分点即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:54:02