早上好, 我有一系列文件,其中一些行是纯文本的,无关紧要,其他文件看起来像这样:
size=xxxx
这些数字的范围从一位数到六位数。我想要做的是将文件中的每个数字除以10,最小值为1,并保留所有剩余的整数。通过删除每行中以最后一些数字结尾的最后一位数字可以实现同样好的东西(然后我可以找到并替换那些删除了唯一数字的行)。所以,例如
size=32451
...
size=9423
...
size=123452
...
size=3
...
size=31
变为
size=3245
...
size=942
...
size=12345
...
size=1
...
size=3
有一种简单的方法吗?
谢谢
答案 0 :(得分:2)
如果您的软件/编程语言允许您使用条件替换(例如Notepad ++),请替换:
(?<=size=)(\d{1,5})?\d
(?1\1:1)
(或(?1$1:1)
)。
否则,您必须执行2次单独替换:首先将(?<=size=)(\d{1,5})\d
替换为\1
(或$1
),然后将(?<=size=)\d
替换为1
。< / p>