查找并删除VIM中的所有括号数据

ast*_*epz 2 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)
Run Code Online (Sandbox Code Playgroud)

我想删除所有括号及其内容,如下所示:

aaa,bbb,ccc
ddd,eee,fff
ggg,hhh,iii
Run Code Online (Sandbox Code Playgroud)

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

:%s/(*)//g
Run Code Online (Sandbox Code Playgroud)

Ear*_*gon 6

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

:%s/(.*)//g
Run Code Online (Sandbox Code Playgroud)

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

编辑:

正如sundeep所述,g如果要匹配同一行中的所有出现并且.*将从行中的第一个(到最后一个进行贪婪匹配),那么在同一行中将不会有另一个匹配,因此可以将其删除.你可以用匹配只有简单的对大括号([^(]*),这意味着发现,不包括任何字符的字符串(被包围().所以修改后的建议是使用:

:%s/([^(]*)//g
Run Code Online (Sandbox Code Playgroud)