VIM

2017-07-02 6 views
2

内のすべての括弧のデータを検索し、削除し、私はこのようになりますVIMでCSVファイルを持っている:VIM

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

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

私は、すべての括弧&次のように見てそのコンテンツを削除したいと思いますが

私はこれをやって試してみましたが、それは唯一のあなたは、ほとんど

:%s/(*)//g 

答えて

6

括弧を削除することですそれを持っていた、あなたは.が欠落している:sundeepとして

:%s/(.*)//g 

ドットはそう.*手段は、任意の長さ

編集の文字のすべての文字列を見つける使用して、すべての文字にマッチしますgと同じ行にあるすべての一致と一致する場合は、.*は最初の(から最後の)まで貪欲に一致するので、別のtはありません同じ行にマッチするので、削除することができます。単純な中かっこのペアは([^(]*)と一致させることができます。これは、()で囲まれた(を含まない文字列を見つけることを意味します。

:%s/([^(]*)//g 
+1

そうですよ!ご協力ありがとうございました! – astrasleepz

+0

または ':%s /(.*)'の 'g'フラグはこの正規表現では無効です – Sundeep

+0

なぜ' g'は効果がありませんか? – EarthDragon

2

:%s/(.*)//gまたはda(ラインごとに()の内側からあなたは、いくつか残して他を削除する場合:だから修正提案が使用することです。

+0

または ':%norm f(da)' ... 'g'フラグは貪欲な正規表現では必要ありません。' '3(foo)と(bar)このような場合、 ':%s /([^)] *)// g' – Sundeep