想拥有能够在字符串中的子字符串后面找到数字的函数,例如:
Shape
最好的方法是什么?
答案 0 :(得分:4)
正则表达式:char(\d+)
详细说明:
\d
匹配一个数字(等于[0-9]
)+
匹配一次且无限次()
捕获小组Python代码:
字符串格式化语法"%s" % var
。%s
标记允许插入(并可能格式化)字符串。
def find_number(text, c):
return re.findall(r'%s(\d+)' % c, text)
find_number('abce123de34', 'e') >> ['123', '34']
find_number('abce123de34', 'de') >> ['34']
答案 1 :(得分:0)
以下程序有效。但它可以得到很大改善。
def func(string, sub):
subpos = string.find(sub)
new_string = string[subpos + 1:]
for x in new_string:
try:
int(x)
except:
endpos = new_string.find(x)
break
num = string[subpos + 1:subpos + endpos + 1]
return num
string = 'abc12de34fg'
sub = 'e'
num = func(string, sub)
print(num)