小编clo*_*d68的帖子

递增尾随数字时字符串操作怪异

我得到了这段代码:

myString = 'blabla123_01_version6688_01_01Long_stringWithNumbers'
versionSplit = re.findall(r'-?\d+|[a-zA-Z!@#$%^&*()_+.,<>{}]+|\W+?', myString)

for i in reversed(versionSplit):
    id = versionSplit.index(i)
    if i.isdigit():
        digit = '%0'+str(len(i))+'d'
        i = int(i) + 1
        i = digit % i
        versionSplit[id]=str(i)
        break

final = ''
myString = final.join(versionSplit)
print myString
Run Code Online (Sandbox Code Playgroud)

这假设只增加给定字符串的最后一位数字.但是如果运行该代码,您将看到如果字符串中的数字与最后一个数字相同,那么如果您继续运行该脚本,它将一个接一个地增加它.任何人都可以帮我找出原因吗?

预先感谢您的任何帮助

python regex string

2
推荐指数
1
解决办法
254
查看次数

标签 统计

python ×1

regex ×1

string ×1