我在VIM一個CSV文件看起來像這樣:查找並刪除所有的括號數據VIM
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
我在VIM一個CSV文件看起來像這樣:查找並刪除所有的括號數據VIM
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
你幾乎有了它,你就錯過了.
:
:%s/(.*)//g
的點中的所有字符相匹配,因此使用.*
手段找到任意長度的字符的所有字符串
編輯:
由於sundeepg
如果匹配在同一行中的所有事件並且.*
將貪婪地匹配從第一個(
到行中的最後一個)
,所以不會有另一個t o匹配在同一行中,因此可以將其刪除。您只能匹配([^(]*)
這個簡單的大括號對,這意味着找到任何不包含(
的字符串,該字符串被()
包圍。因此,修改後的建議是使用:
:%s/([^(]*)//g
從()
每一行內:%s/(.*)//g
或da(
如果要刪除幾個離開他人。
或者':%norm f(da)'......貪婪的正規表達式不需要'g'標誌,它會將'1 3(foo)和(bar)'變爲'1 3',而不管' g'標誌......在這種情況下,使用':%s /([^)] *)// g' – Sundeep
沒錯!感謝您的幫助! – astrasleepz
或只是':%s /(.*)'因爲'g'在這個正則表達式中無效 – Sundeep
爲什麼'g'無效? – EarthDragon