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

JavaScript实现长文本按指定行号区间分段并匹配对应分类标题

JavaScript实现方案

核心逻辑

你原有的实现是按固定字符数拆分文本,不符合按行拆分、按区间分类的需求,正确实现分为两步:

  1. 按换行符拆分访谈文本为行数组,统一调整为496行长度(不足补空行,超出截取前496行)
  2. 按照给定的行号区间,将对应行内容匹配到对应分类标题下

完整代码

const strpar = props.transcriptstring;

// 步骤1:将文本按换行拆分为行数组,兼容Unix和Windows换行格式
let lines = strpar.split(/\r?\n/);
// 统一调整为496行
if (lines.length < 496) {
  // 不足496行则补空行
  lines = lines.concat(new Array(496 - lines.length).fill(''));
} else {
  // 超出496行则截取前496行
  lines = lines.slice(0, 496);
}

// 步骤2:按区间匹配分类
const ptr = [97, 186, 286, 380, 433, 496];
const categoryTitles = ['Introduction', 'Technical Discussion', 'Abstract', 'Description', 'Output', 'Conclusion'];
const categorizedContent = {};
let startLine = 0;

ptr.forEach((endLine, index) => {
  const currentTitle = categoryTitles[index];
  // 截取对应区间的行,拼接为完整文本存入结果
  categorizedContent[currentTitle] = lines.slice(startLine, endLine).join('\n');
  startLine = endLine;
});

// 输出最终结果,可根据需求调整返回格式
console.log(categorizedContent);

说明

上述代码默认行号从0开始计数,如果你使用的是1开头的行号规则,只需将slice(startLine, endLine)调整为slice(startLine - 1, endLine)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:45:03