Notepad++ 正则表达式查找一个“,”并将奇数“,”替换为“.”在每一行

Notepad++ regular expression find a "," and replace odd "," with "." in every row

我 运行 最近使用我的数据采集程序搞得一团糟,该程序每隔几毫秒保存四个用逗号分隔的数据点(csv 格式)。我使用了一台小数点为“,”的PC(NL地区)进行数据采集。

现在,当我尝试将我的 csv 文件导入 matlab/excel 时,它给了我 8 列(应该是 4),因为所有小数点也打印为“,”

有没有办法在记事本++中使用正则表达式(例如)找到一行中的所有“,”,并将奇数替换为“。”?

非常感谢您的帮助。我有数千行数据,因此手动执行会花费很长时间。

示例原始数据:
0,000000,293,625871,331,588659,37,440656
0,049000,294,148003,332,215504,37,400764
0,098000,294,814740,332,944775,37,261284
0,145000,295,683491,333,688803,37,184621
0,193000,296,504183,334,271264,37,058032
0,241000,297,213232,334,704293,37,109150
0,289000,297,595142,335,081749,37,113087
0,339000,297,968663,335,292896,37,088883
0,403000,298,204013,335,796915,37,109307

处理后的数据应该是什么样子:
0.000000,293.625871,331.588659,37.440656
0.049000,294.148003,332.215504,37.400764
0.098000,294.814740,332.944775,37.261284
0.145000,295.683491,333.688803,37.184621
0.193000,296.504183,334.271264,37.058032
0.241000,297.213232,334.704293,37.109150
0.289000,297.595142,335.081749,37.113087
0.339000,297.968663,335.292896,37.088883
0.403000,298.204013,335.796915,37.109307

只需要做:

查找内容:(\d+),(\d+)
替换为:.

然后点击全部替换

要匹配所有奇数逗号,请使用断言 even 逗号后跟的前瞻:

 ,(?=(([^,]*,){2})*[^,]*$)