0

我有一个我正在尝试格式化的 CSV,但输入数据有很多逗号开头。如果我可以简单地用分号替换给定行(第 4 行之后)上的所有逗号,那会容易得多。

无论如何使用简单的查找/替换正则表达式来做到这一点,还是需要编程?

4

2 回答 2

3

解决这个问题的最简单方法(因为 Notepad++ 的正则表达式不支持可变长度的lookbehind 断言)可能分三步完成:

首先,将前四个逗号更改为独特的:搜索

^([^,]*),([^,]*),([^,]*),([^,]*), 

并替换为\1#COMMA#\2#COMMA#\3#COMMA#\4#COMMA#.

然后,用分号替换所有逗号。

最后,#COMMA#用逗号替换所有 s。

这假设所有带逗号的行都至少有四个。

于 2012-05-14T20:22:35.860 回答
1

您应该可以使用查找/替换中的正则表达式来完成。在记事本++中尝试以下操作:

Find what:    ([^,]*),([^,]*),([^,]*),([^,]*),
Replace with: \1,\2,\3,\4;

不要忘记检查正则表达式单选按钮。

于 2012-05-14T20:23:18.903 回答