如何增加字符串中的数字?

时间:2019-03-09 04:22:04

标签: python python-3.x string

我有一个像这样的字符串:

a = 'CODE1'

如何将字符串内的1递增1?

我尝试过:

a = a+1 

但是得到了这个错误:

TypeError: can only concatenate str (not "int") to str

2 个答案:

答案 0 :(得分:2)

问题是您尝试了strint类型的串联。您必须选择最后一个字符,然后将其转换为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)