我有一个字符串,我需要检查它是否在字符串的末尾包含一个数字/数字
,并且需要将该数字/数字
递增到字符串末尾 +1
我会得到下面的字符串
string2 = suppose_name_1
string3 = suppose_name_22
string4 = supp22ose45_na56me_45
我肯定会得到上述格式的字符串,如 suppose_somthing + Underscore
+ digits
所以从上面的字符串
- 我需要检查一个字符串是否包含下划线后字符串末尾的数字/数字
如果它包含则需要用
+1
增加它,如下所示string2 = suppose_name_2
string3 = suppose_name_23
string4 = supp22ose45_na56me_46
我们如何通过使用正则表达式或其他东西在 python 中执行此操作,但这应该非常快。
我做了类似 here 的事情, 但想用 re 实现会非常快,所以接近 SO
编辑:
抱歉上面没有提到
有时它只包含 something_name
而没有整数,因此我需要先检查它是否包含数字
最佳答案
如何使用正则表达式:
import re
def process_string(s):
try:
part1, part2 = re.search('^(.*_)(\d+)$', s).groups()
part2 = str(int(part2) + 1)
return part1 + part2
except AttributeError:
return s
print process_string("suppose_name_1")
print process_string("suppose_name_22")
print process_string("supp22ose45_na56me_45")
print process_string("suppose_name")
打印:
suppose_name_2
suppose_name_23
supp22ose45_na56me_46
suppose_name
仅供引用,使用正则表达式没有任何错误或可怕之处。
关于python - 检查字符串是否包含python中的数字/数字/数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18097044/