我有一个包含数千行文本的文本文件。每行都像

\\server\share\file.txt -> information


我想删除文件扩展名结尾后的所有空格。因此,“->”之后的所有内容(第一个引号后都有一个空格)

你会怎么做?我想使用vim来了解更多信息,但是任何程序都可以。我想尽快完成。

最佳答案

您的描述是矛盾的。


“文件扩展名结尾后的所有空格”
“所以“->”之后的所有内容(第一个引号后都有一个空格)


您是否要保留箭头?

1的实现很简单:

:%s/ ->.*/


实际上,如果您确实确实想像箭头一样保留箭头前的空格,那就是:

:%s/ ->.*/ /


2可以做到:

:%s/\( ->\).*/\1/


如果您希望在替换之前查看搜索结果,则可以先使用/构建搜索:

/\( ->\).*


这将突出显示所有结果,以确保您要更换正确的东西。然后,您可以使用空的搜索词执行replace命令以使用上一次搜索(突出显示的内容)。

:%s//\1/

关于regex - 删除文本文件中模式之后的所有字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5790962/

10-11 23:26
查看更多