仍然是正常的表达方式,但我还在学习。我想做的是更换数字' 1'这里使用Vim和正则表达式以粗体显示。但问题是它不仅要为这条线做这件事,而且对于每一条线都要做到这一点。换句话说,这个' 1' 1碰巧是在我平面文件的第29个空间。我想将其更改为' 2'。任何人都可以帮我一把吗? 提前谢谢。
2017033112xxxxxxxxx194205252的 1 2007
答案 0 :(得分:3)
%s/\%29c[0-9]/2/g
它将在第29列中找到任意数字(从0到9)并将其替换为2。
答案 1 :(得分:2)
%s/^\(.\{28}\)1/\12/
这将保留每一行的前28个字符,并用'2'替换第29个位置的'1'
答案 2 :(得分:2)
使用匹配开始 1
2
更改为\zs
%s/^.\{28\}\zs1/2
<强>前强>
123456789012345678901234567890123
2017033112xxxxxxxxx19420525212007
2017033112xxxxxxxxx19420525292006
2017033112xxxxxxxxx19420525212005
<强>后强>
123456789012345678901234567890123
2017033112xxxxxxxxx19420525222007
2017033112xxxxxxxxx19420525292006
2017033112xxxxxxxxx19420525222005