删除逗号作为数字分组符号

时间:2014-03-10 18:36:33

标签: regex vim

我有

之类的数字列表
990.00
2,940.00
4,500.00
600.00

我需要从这些字符串中删除,

到目前为止,为了找到所需的案例,我使用\d,\d\d\d\.\d\d,但我用替换表达式进行堆叠。

3 个答案:

答案 0 :(得分:2)

您可以找到,(\d{3})并替换为捕获组1。

答案 1 :(得分:1)

根据您提供的其他字符串,我认为tenub是最简单的解决方案。

如果您打算在vim中这样做,那么您需要使用以下内容:

%s /\,\(\d\{3}\)/\1/

%s - 替换所有出现

\1 - 第一个捕获组

根据需要转义其他字符。

虽然我是一名业余爱好者,但可能会有更简单的方式。

答案 2 :(得分:0)

到目前为止发布的其他解决方案使用捕获组,但对于简单的替换/删除,这不是必需的。只需断言逗号之前/之后的内容(以避免在不需要的地方删除它),并通过\zs(开始匹配)和\ze(结束匹配)将匹配限制为逗号本身特殊原子:

:%s/\d\zs,\ze\d\d\d\.\d\d//g