我尝试使用逗号 (,) 来分隔前两个数字字段中的千位vim command
%s/\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\);/\1,\2\3\4;/g
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,它还会在第二行的 9,995 中添加逗号,我可以用什么来替换特定的 N < g 出现次数。
输入
BitstreamCyberCJK;Freeware;30275;28686;v2.0 ;beta (1998-03-17)
Y.OzFontN;Freeware;21957;7621;v13.00 sfnt rev 9995; Pen-Ji (2010-08-24)
Run Code Online (Sandbox Code Playgroud)
预期产出
BitstreamCyberCJK;Freeware;30,275;28,686;v2.0 ;beta (1998-03-17)
Y.OzFontN;Freeware;21,957;7,621;v13.00 sfnt rev 9995; Pen-Ji (2010-08-24)
Run Code Online (Sandbox Code Playgroud)
有一种方法可以重复最后一个命令:@:此外,您还可以指定重复次数,例如:10@:。
因此,从仅替换第一个匹配项开始:%s/\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\);/\1,\2\3\4;/
然后,由于我们已经完成了 N 次替换之一,因此重复 N-1 次。
例如,要替换前 10 个数字,请使用:
%s/\([0-9]\)\([0-9]\)\([0-9]\)\([0-9]\);/\1,\2\3\4;/
9@:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
318 次 |
| 最近记录: |