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

如何使用substring或slice方法截取两个匹配字符间的字符串?

完全可以实现,核心思路是先找到所有字符a在字符串中的下标位置,再通过substring/slice方法截取相邻两个下标之间的片段即可,具体实现如下:

let str = 'axybexaseraszarasxar';

// 第一步:收集所有a的下标位置
const aIndexes = [];
for (let i = 0; i < str.length; i++) {
  if (str[i] === 'a') aIndexes.push(i);
}

// 第二步:截取相邻a之间的内容(包含两端a)
const result = [];
for (let i = 0; i < aIndexes.length - 1; i++) {
  // substring第一个参数是起始下标(包含),第二个是结束下标(不包含),所以结束位置要+1才能包含第二个a
  const segment = str.substring(aIndexes[i], aIndexes[i+1] + 1);
  // 用slice的话写法完全一致:str.slice(aIndexes[i], aIndexes[i+1] + 1)
  result.push(segment);
}

console.log(result); 
// 输出所有符合要求的片段,取result[0]即可拿到你示例中的'axybexa'

补充说明:

  • 两种方法在这里的用法没有区别,只要计算好起止下标即可:起始下标是前一个a的位置(直接用收集到的索引),结束下标是后一个a的位置+1(因为两个方法的第二个参数对应的位置都不会被包含在返回结果里)
  • 如果只需要特定位置的相邻a片段,直接按索引取对应结果即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:39:03