我正在处理一个大的.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
替换为“空”会导致其他列中我的数据的某些部分被压缩为不同的值。
答案 0 :(得分:0)
尝试将\.00(,|$)
替换为$1
它应该足够了,因为没有其他列似乎有2个小数位。如果您只匹配一个匹配项,则可能需要替换所有匹配项。
答案 1 :(得分:0)
这是一种完成工作的方法:
\.00(,\d+)\.00$
$1
请勿检查. matches newline
这将在最后两列中取代.00
。
答案 2 :(得分:-1)
正则表达式应该做的工作: 替换“(([^,] ,){8}([^,] ?))(。00)?,([^,] *?)(。00)?” “1美元,3美元” (没有引号)
使用输入:“05/02 / 2002,07:22,0.7405,0.7405,0.7405,0.7405,0,2,2.00,2.00” 在http://www.regexe.com/
编辑:stackoverflow在格式化帖子时更改了正则表达式。这是我想发布的正则表达式:(([^,]*,){8}([^,]*?))(\.00)?,([^,]*?)(\.00)?