代码之家  ›  专栏  ›  技术社区  ›  RustyShackleford

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

  •  -2
  • RustyShackleford  · 技术社区  · 6 年前

    我有一根这样的绳子:

    a = 'CODE1'
    

    如何增加 1 在字符串内1?

    我试过这个:

    a = a+1 
    

    但有个错误:

    TypeError: can only concatenate str (not "int") to str
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Austin    6 年前

    问题是您尝试了 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
    
        2
  •  0
  •   panda-34    6 年前

    您可以这样增加字符串中的最后一个数字:

    re.sub('\d+(?!.*\d)', lambda d: str(int(d[0]) + 1), a)