我有一个像这样的字符串:
a = 'CODE1'
如何将字符串内的1
递增1?
我尝试过:
a = a+1
但是得到了这个错误:
TypeError: can only concatenate str (not "int") to str
答案 0 :(得分:2)
问题是您尝试了str
和int
类型的串联。您必须选择最后一个字符,然后将其转换为int
以进行增量操作,然后恢复为str
以与其余字符串连接:
a[:-1] + str(int(a[-1]) + 1)
或者在注释中讨论的情况下,您可以使用正则表达式来匹配最后一组数字并执行递增:
import re
a = 'CODE19'
splits = re.split(r'(\d+)', a)
print(''.join(splits[:-2]) + str(int(splits[-2]) + 1))
# CODE20
答案 1 :(得分:0)
您可以像这样在字符串中增加最后一个数字:
re.sub('\d+(?!.*\d)', lambda d: str(int(d[0]) + 1), a)