如何递增所有数字的字符串并在每个实际数字后插入每个字符串?

时间:2016-07-19 06:34:48

标签: python regex python-3.x

如何在Python中将递增的数字附加到旧的数字中。 我有一个字符串和一个正则表达式来查找它的所有数字,但是当涉及到任务时,它不能正常工作。

这就是我的意思:

“此字符串包含数字:4401 4402 4448” - > “此字符串包含数字:4401 4402 4402 4403 4448 4449”

如果有帮助,这是正则表达式:

regex = '(\S\d+[^\\^.^a-z^A-Z])'

提前谢谢!

1 个答案:

答案 0 :(得分:3)

尝试re.sub()

import re

line = "This string contains numbers: 4401 4402 4448"
line = re.sub(
    '\d+',
    lambda m: '{} {}'.format(m.group(), int(m.group())+1),
    line)

assert line == "This string contains numbers: 4401 4402 4402 4403 4448 4449"