我正在研究如何在 python 中将末尾有数字的字符串递增 1。
例如:
myString = 'test01'
我想迭代 '01' 以获得 '02'(即 test02)
我如何处理其中包含多个数字的字符串?
myString = 'Test1b01'
我只想迭代最后的数字以获得 Test1b02
我假设它涉及拆分字符串,但不知道如何只迭代最后的数字。
请您参考如下方法:
我想你的意思是“增量”(而不是“迭代”)。
re.sub扩展案例的解决方案:
import re
myString = 'Test1b01 text test2aa4 '
pat = r'\b(\w+)(\d)\b'
res = re.sub(pat, lambda m: m.group(1) + str(int(m.group(2))+1), myString)
print(res)
输出:
'Test1b02 text test2aa5 '
正则表达式模式细节:
\b- 单词边界\w+- 一个或多个字母数字字符\d- 一个数字(在单词的末尾)
