【问题标题】:Notepad++ replace blank space with 0 in csvNotepad ++在csv中用0替换空格
【发布时间】:2021-11-28 02:18:37
【问题描述】:

我有一个包含如下数据的 CSV 文件。

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

有没有办法使用Regex 将空列替换为 0 值?

编辑:尝试了 Tim Biegeleisen 解决方案,如下所示

Find:    (^|,)(,|$)
Replace: ${1}0${2}

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

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

【问题讨论】:

  • 不知道你的结果会是什么样子,我想,你应该搜索''并将其替换为'0'

标签: regex notepad++


【解决方案1】:

你可以使用

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

详情

  • (?&lt;![^,\r\n]) - 如果左侧没有 ,、CR 或 LF 字符,则匹配失败(基本上,大致为 (?&lt;=,|^),逗号或行首必须紧邻左侧当前位置)
  • (?:,|^)\K - 匹配逗号或行首,\K 从匹配值中删除逗号(如果匹配)(这是一种后向替代)
  • (?=,|$) - 正向前瞻,需要 , 或紧挨当前位置右侧的行尾。

regex demo

【讨论】:

    猜你喜欢
    • 2012-09-14
    • 2022-01-22
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多