Notepad++:如何删除正则选中内容的最后一个逗号?
用Notepad++批量修正CSV里的多余逗号
先看原始数据:
06183,19760201,19891231,16,54.9101,8.3268,Westerland, (Wind),Schleswig-Holstein 06184,19880801,20090615,6,53.5333,8.1667,Wilhelmshaven, (Flugplatz),Niedersachsen 06186,20000401,20190527,268,50.1989,7.8651,Nastätten,Rheinland-Pfalz
想要改成这样,让带括号的地点和州之间只留一个逗号:
06183,19760201,19891231,16,54.9101,8.3268,Westerland (Wind),Schleswig-Holstein 06184,19880801,20090615,6,53.5333,8.1667,Wilhelmshaven (Flugplatz),Niedersachsen 06186,20000401,20190527,268,50.1989,7.8651,Nastätten,Rheinland-Pfalz
高效批量操作方法
直接用正则替换一步搞定:
- 按
Ctrl+H打开替换窗口 - 勾选「正则表达式」,不要勾选「.匹配换行符」
- 「查找目标」填入:
^((?:[^,]+,){6})([^,]+),\s*(\([^)]+\)),([^,]+)$ - 「替换为」填入:
\1\2 \3,\4 - 点击「全部替换」,所有行自动修正
正则逻辑说明
^((?:[^,]+,){6}):原封不动保留前6组带逗号的字段内容([^,]+),\s*(\([^)]+\)):捕获地点名称和括号内的备注,把中间的逗号换成空格- 最后保留地点与州之间的单个逗号,确保格式统一
若坚持用选中到第8个逗号的方式操作(适合少量行)
- 按
Ctrl+F打开查找窗口,输入^(?:.+?,){8},勾选「正则表达式」后点击「查找全部」,所有目标行的前8个逗号区域会被选中 - 按
End键跳到当前选中行的末尾,再按左箭头移动到要删除的逗号位置 - 按住
Ctrl+Shift+左箭头选中该逗号,按Delete键删除即可
内容的提问来源于stack exchange,提问作者till Kadabra
相关产品推荐
相关产品推荐

