我在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)
你几乎拥有它,你错过了.
:
:%s/(.*)//g
Run Code Online (Sandbox Code Playgroud)
点匹配所有字符,因此使用.*
意味着查找任何长度的所有字符串
编辑:
正如sundeep所述,g
如果要匹配同一行中的所有出现并且.*
将从行中的第一个(
到最后一个进行贪婪匹配)
,那么在同一行中将不会有另一个匹配,因此可以将其删除.你可以用匹配只有简单的对大括号([^(]*)
,这意味着发现,不包括任何字符的字符串(
被包围()
.所以修改后的建议是使用:
:%s/([^(]*)//g
Run Code Online (Sandbox Code Playgroud)