Notepad++ 记事本++删除最后两列小数点后的零

Notepad++ 记事本++删除最后两列小数点后的零,notepad++,Notepad++,我正在处理一个很大的.csv文件,小数点后有零 有没有办法只删除最后两列的零?以下是我的数据片段: 05/02/2002,07:22,0.7405,0.7405,0.7405,0.7405,0,2,2.00,2.00 05/30/2002,06:00,0.7725,0.7725,0.7725,0.7725,1,0,1.00,0.00 06/03/2002,21:08,0.7870,0.7870,0.7870,0.7870,1,0,1.00,0.00 06/04/2002,03:59,0.7875

我正在处理一个很大的.csv文件,小数点后有零

有没有办法只删除最后两列的零?以下是我的数据片段:

05/02/2002,07:22,0.7405,0.7405,0.7405,0.7405,0,2,2.00,2.00
05/30/2002,06:00,0.7725,0.7725,0.7725,0.7725,1,0,1.00,0.00
06/03/2002,21:08,0.7870,0.7870,0.7870,0.7870,1,0,1.00,0.00
06/04/2002,03:59,0.7875,0.7875,0.7875,0.7875,3,0,3.00,0.00
只需查找并替换.00以清空其他列中数据的某些部分,即可将其压缩为不同的值。

Regex应完成以下工作: 替换[^,],{8}[^,]?.00?,[^,]*?.00? 1美元,3美元 无报价

与输入一起工作:05/02/2002,07:22,0.7405,0.7405,0.7405,0.7405,0.7405,0,2,2.00,2.00 在

编辑:stackoverflow在格式化我的帖子时更改了正则表达式。这是我想发布的正则表达式:[^,]*,{8}[^,]*?\.00?,[^,]*?\.00?

尝试用$1替换\.00,|$


这应该足够了,因为没有其他列正好有2位小数。如果只匹配一个匹配项,则可能需要替换所有项。

以下是执行此操作的方法:

Ctrl+H 查找内容:\.00、\d+\.00$ 替换为:1美元 全部替换 不要检查。匹配新行


这将在最后两列中将.00替换为零。

Notepad++可能不是最好的软件。请参阅:Microsoft Excel、Openoffice、Libreoffice等。这是一个相当大的.csv,接近200万个条目,我无法在Excel中完全导出。在以下摘录中,仅替换了1个条目。这不是正确的正则表达式-在[^,]之后应该有一个+,完全正确的正则表达式是[^,]+,{8}[^,].00?,[^,]+.00?,对我来说失败。如果这样做,请替换^?:[^,]*,{8}[^,]+?:\.00?,[^,]+?:\.00?如果为$1,则$2将在数据上失败,且一行中没有两个匹配项,例如…,1.00,2。50@Walf:是的,但OP没有这么说。