[英]Replace character in specific position with another character using regular expression, Vim
仍然是正則表達式newb,但我仍在學習。 我想做的是使用Vim和正則表達式替換此處的粗體數字“ 1”。 但是要注意的是,它不僅必須針對此行執行此操作,而且還必須針對此行中的每一行執行此操作。 因此,換句話說,這個“ 1”恰好在我的平面文件的第29個空格中。 我想將其更改為“ 2”。 有人可以幫我嗎? 先感謝您。
2017033112xxxxxxxxx194205252 1 2007
%s/\%29c[0-9]/2/g
它將在第29列中找到任何數字(從0到9)並將其替換為2。
%s/^\(.\{28}\)1/\12/
這將保留每行的前28個字符,並將第29位的“ 1”替換為“ 2”
使用比賽開始 \\zs
將第29位的1
更改為2
%s/^.\{28\}\zs1/2
之前
123456789012345678901234567890123
2017033112xxxxxxxxx19420525212007
2017033112xxxxxxxxx19420525292006
2017033112xxxxxxxxx19420525212005
后
123456789012345678901234567890123
2017033112xxxxxxxxx19420525222007
2017033112xxxxxxxxx19420525292006
2017033112xxxxxxxxx19420525222005
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.