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