很容易将 11 12 13 14 转换为 11a 12a 13a 14a,使用:
myStr = "11 12 13 14"
myStr = re.sub(r'(\d*)', r'\1a', myStr)
print myStr # 11a 12a 13a 14a
但是如何使用 re.sub 将 11 12 13 14 转换为 12 13 14 15?
请您参考如下方法:
使用 re.sub() 的正则表达式解决方案:
import re
string = "11 12 13 14"
def repl(m):
number = int(m.group(1)) + 1
return str(number)
print re.sub(r'\b(\d+)\b', repl, string)
# 12 13 14 15
参见 a demo on ideone.com .
正如其他人提到的,这可能不是最合适的解决方案。
