我有一个包含数千行文本的文本文件。每行都像
\\server\share\file.txt -> information
我想删除文件扩展名结尾后的所有空格。因此,“->”之后的所有内容(第一个引号后都有一个空格)
你会怎么做?我想使用vim来了解更多信息,但是任何程序都可以。我想尽快完成。
最佳答案
您的描述是矛盾的。
“文件扩展名结尾后的所有空格”
“所以“->”之后的所有内容(第一个引号后都有一个空格)
您是否要保留箭头?
1的实现很简单:
:%s/ ->.*/
实际上,如果您确实确实想像箭头一样保留箭头前的空格,那就是:
:%s/ ->.*/ /
2可以做到:
:%s/\( ->\).*/\1/
如果您希望在替换之前查看搜索结果,则可以先使用/构建搜索:
/\( ->\).*
这将突出显示所有结果,以确保您要更换正确的东西。然后,您可以使用空的搜索词执行replace命令以使用上一次搜索(突出显示的内容)。
:%s//\1/
关于regex - 删除文本文件中模式之后的所有字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5790962/