Skip to main content
 首页 » 编程设计

python之将字符串中的最后一个数字逐一迭代

2025年05月04日24birdshome

我正在研究如何在 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 - 一个数字(在单词的末尾)