查找并删除VIM

时间:2017-07-02 07:10:11

标签: regex vim

我在VIM中有一个csv文件,如下所示:

aaa,bbb,ccc (Friday, 23/06/17)
ddd,eee,fff (Saturday, 24/06/17)
ggg,hhh,iii (Sunday, 25/06/17)

我想删除所有括号&它的内容看起来像这样:

aaa,bbb,ccc
ddd,eee,fff
ggg,hhh,iii

我尝试过这样做,但它只删除了括号

:%s/(*)//g

2 个答案:

答案 0 :(得分:6)

你几乎拥有它,你错过了.

:%s/(.*)//g

点匹配所有字符,因此使用.*表示查找任意长度的所有字符串

修改

正如sundeep所述,g如果要匹配同一行中的所有匹配项,.*将从第一个(到最后一个)贪婪地匹配在该行中,因此不会在同一行中匹配另一个,因此可以将其删除。您只能将简单的大括号与([^(]*)匹配,这意味着要查找不包含(的{​​{1}}字符串。所以修改后的建议是使用:

()

答案 1 :(得分:2)

如果您打算删除少数人,请从每个行的:%s/(.*)//g内部

da(()