Notepad++ 将 csv 中的空白 space 替换为 0

Notepad++ replace blank space with 0 in csv

我有一个 CSV 文件,其中包含如下数据。

ABC,XYZ,LMN
0,,2.3
3.4,3,5
,0,
1.3,,4.5

有什么方法可以使用 Regex 将空列替换为 0 值吗?

编辑:试过 Tim Biegeleisen 如下解决方案

Find:    (^|,)(,|$)
Replace: 0

但在以下情况下不起作用。如果我有如下 CSV 数据

ABC,XYZ,LMN
0,,2.3
3.4,3,5
,,0 // here it doesn't work
1.3,,

您可以使用

Find:    (?<![^,\r\n])(?=,|$)
(or)     (?:,|^)\K(?=,|$)
Replace: 0

详情:

  • (?<![^,\r\n]) - 如果左侧没有 ,,CR 或 LF 字符(基本上,它大致是 (?<=,|^),一个逗号,则匹配失败的负后视或一行的开头必须紧接在当前位置的左侧)
  • (?:,|^)\K - 匹配逗号或行首,\K 从匹配值中删除逗号(如果匹配)(这是一种后视替代)
  • (?=,|$) - 正前瞻要求 , 或紧靠当前位置右侧的行尾。

参见regex demo