我有一个我正在尝试格式化的 CSV,但输入数据有很多逗号开头。如果我可以简单地用分号替换给定行(第 4 行之后)上的所有逗号,那会容易得多。
无论如何使用简单的查找/替换正则表达式来做到这一点,还是需要编程?
解决这个问题的最简单方法(因为 Notepad++ 的正则表达式不支持可变长度的lookbehind 断言)可能分三步完成:
首先,将前四个逗号更改为独特的:搜索
^([^,]*),([^,]*),([^,]*),([^,]*),
并替换为\1#COMMA#\2#COMMA#\3#COMMA#\4#COMMA#
.
然后,用分号替换所有逗号。
最后,#COMMA#
用逗号替换所有 s。
这假设所有带逗号的行都至少有四个。
您应该可以使用查找/替换中的正则表达式来完成。在记事本++中尝试以下操作:
Find what: ([^,]*),([^,]*),([^,]*),([^,]*),
Replace with: \1,\2,\3,\4;
不要忘记检查正则表达式单选按钮。