我正在尝试删除 csv 文件中每行的第一个逗号之前的所有内容。 这些行是这样的:
-29.45829963684082~149.14680480957031,-000029.45829963684082, 000149.14680480957031,WGS84
-29.46190071105957~149.09509277343750,-000029.46190071105957, 000149.09509277343750,WGS84
当我执行 %s/.*,\\{-}//
时,它会删除所有内容!
如果我使用 %s/.*,//
它将删除除 WGS84 之外的所有内容,这是我所期望的。
谁能告诉我我做错了什么?我认为 \{-}
在 Vim 中强加了非贪婪匹配。
谢谢,
约翰
最佳答案
\{-}
是 Vim 中的非贪婪匹配,所以你应该使用 \{-}
而不是 *
。
试试:
%s/.\{-},//
关于Vim 非贪心搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12310668/