gpt4 book ai didi

regex - VIM:根据位置插入或删除数据

转载 作者:行者123 更新时间:2023-12-01 09:00:25 24 4
gpt4 key购买 nike

我正在尝试设置一个文本文件以导入我的数据库。我需要在行上的某个位置之后删除每行上的所有内容。我还需要在每行的多个固定位置插入逗号。最终目标是我将导入到我的数据库中的 csv 文件。

我假设有一个正则表达式或 VIM 命令可以按位置插入删除,但我对两者都很陌生,我的搜索没有提供好的答案。

最佳答案

Vim 有一个特殊的正则表达式原子 \%23c 匹配第 23 列。你也可以匹配之前和之后的内容,参见 :help/\%c。这样,您可以通过 :substitute 实现您的目标:删除位置 115 之后的所有字符:

:%s/\%>115c.*//

在位置 10、20、30 处插入逗号:

:%s/\%10c\|\%20c\|\%30c/,/g

这是有效的,因为匹配本身是零宽度,即它不会消耗该位置的字符。为此,您需要附加类似 ..

的内容

请注意,\%c 原子适用于字符(准确地说是字节数)。要正确处理多字节和双宽字符、制表符等,您最好基于屏幕宽度:\%v 是原子。

关于regex - VIM:根据位置插入或删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18133712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com