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

如何在Notepad++中用正则表达式将CSV空列替换为0

CSV空列值替换为0的正则实现方案

你之前使用的方案失效的核心原因是:正则匹配会消费已经命中的字符,遇到,,这类连续空列时,第一个空列匹配完成后已经占用了相邻的逗号分隔符,后续的空列无法被识别,因此连续空列、行首空、行尾空的复合场景会匹配失效。

可行正则方案(支持单次替换覆盖所有场景)

  • 查找内容:(?<=^|,)(?=,|$)
  • 替换内容:0

规则逻辑说明

  • (?<=^|,) 为正向回顾断言,匹配当前位置的前侧是行开头或逗号,不会消费任何字符
  • (?=,|$) 为正向前瞻断言,匹配当前位置的后侧是逗号或行结尾,不会消费任何字符
  • 两个断言共同定位到空列的间隙位置,直接填入0即可,因为不会占用分隔符,连续空列、行首/行尾空的场景都能被全部匹配。

针对你给出的失效测试用例,替换效果如下:

  1. 原行,,0 替换后为 0,0,0
  2. 原行1.3,, 替换后为 1.3,0,0
    所有空列都可以被正确填充。

替代方案

如果你不想修改原有匹配规则,也可以重复执行你之前的替换操作2~3次,直到没有新的匹配项生成,也可以覆盖连续空列的场景。

注意:上述方案仅适用于无引号包裹字段、无嵌套逗号的简单CSV格式,如果你的CSV存在带逗号的引号包裹字段,建议使用专门的CSV解析库处理,不要直接用正则操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:15:00