gpt4 book ai didi

regex - 如何在vim中使用正则表达式来替换递增的数字变量

转载 作者:行者123 更新时间:2023-12-03 20:24:55 25 4
gpt4 key购买 nike

我有一个文件,内容如下:

id      phone   name
x'1234' 12345 jack
x'4567' 45678 Jojo
x'7890' 89456 Dio
x'4591' 34872 joseph

我想把它解析成这样:
id  phone   name
1 12345 jack
2 45678 Jojo
3 89456 Dio
4 34872 joseph

我知道基本的正则表达式可以将所有 id 替换为任何字符串
像这样:
:%s/x'\(\w\+\)'/1/g

它会变成:
id  phone   name
1 12345 jack
1 45678 Jojo
1 89456 Dio
1 34872 joseph

如何将 id 替换为增量变量?

最佳答案

一击

您可以像其他答案一样声明一个变量,或者:

:%s/^x'\([^']*\)'/\=line('.')-1/  

如果最后一个 1 不在第 1 行,则将其替换为您的标题(id、电话、姓名)行的行号。

两步

您只需将代码中的 1 替换为 0 即可获得关注
id  phone   name
0 12345 jack
0 45678 Jojo
0 89456 Dio
0 34872 joseph

然后您可以将光标移动到第一个 id 0 ,然后按:
ctrl-v G g ctrl-a
它会将 0 s 转换为 1 的序列
  • ctrl-v:列模式
  • G :选择第一列直到最后一行。
  • g+ctrl-a:添加
  • 关于regex - 如何在vim中使用正则表达式来替换递增的数字变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57756503/

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