gpt4 book ai didi

search - 增加和减少数字

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

我有这个带有数字的文本:

My numbers are 04, and 0005
My numbers are 05, and 0006
My numbers are 06, and 0035
My numbers are 07, and 0007
My numbers are 08, and 0009

这是我总是用来增加或减少选择/ block 选择/列中的数字的代码:体育运动将上面文本中的最后 4 个数字增加 8:

 '<,'>s/\%V\<\d\{4}\>/\=submatch(0)+8/g

但我今天注意到它做了奇怪的事情。这是输出:

My numbers are 04, and 13
My numbers are 05, and 14
My numbers are 06, and 37 <---
My numbers are 07, and 15
My numbers are 08, and 17
  • 它删除了前导零(如果有前导零,我想保留它们如果没有前导零,则不添加它们)
  • 它将 8 添加到除 37 之外的所有数字中,37 中添加了 2。(为什么?)

任何人都可以帮我找到一个正则表达式来添加/减去数字从选择(或 block 选择)中不丢失前导零

注意:
我注意到 Control A + Control x 保留前导零并按我想要的方式工作,但是:
- 我发现它不能用于替代命令 ('<,'>s/)
- 我不知道如何添加体育用品200 到数字列表 (200 x ?)

最佳答案

前导零使数字基于8

(0035)8 == (29)10

你可以在vim中测试:

:echo 0035 == 29

它将打印1(true)。

<小时/>

试试这个:

:%s/\(\<[0-9]\{4}\>\)\@=0*\([0-9]*\)/\=submatch(2)+8/

关于search - 增加和减少数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10194978/

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