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

如何用JS统计逗号分隔字符串的逗号并替换,仅保留第1、8列?

JavaScript实现CSV列筛选(仅保留第1、8列)

方案1:正则replace方案(处理效率高)

你提到的通过replace()实现的方案可以通过全局多行正则快速完成处理,无需拆分字符串,适合大体积的CSV内容:

// 替换为你的原始CSV字符串
const rawCSV = `value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,
value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,
value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,`;

// 保留第1、8列,输出新CSV字符串
const resultCSV = rawCSV.replace(/^([^,]+),(?:[^,]+,){6}([^,]+),.*$/gm, '$1,$2');
console.log(resultCSV);

输出示例:

value1,value8
value1,value8
value1,value8

方案2:拆分遍历方案(可读性强,易修改)

如果后续需要调整保留的列,推荐用拆分遍历的方式,逻辑更直观:

const rawCSV = `value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,
value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,
value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,`;

const resultArr = rawCSV.split('\n')
  .filter(line => line.trim() !== '') // 过滤空行
  .map(line => {
    const columns = line.split(',');
    // 数组下标从0开始,第1列对应下标0,第8列对应下标7
    return [columns[0], columns[7]];
  });

// 如需转为CSV字符串可执行:resultArr.map(item => item.join(',')).join('\n')
// 输出的二维数组可直接作为Chart.js折线图的标签、数值数据源使用
console.log(resultArr);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:18:04