python中从12345abcdef中提取数字?

如题所述

第1个回答  2020-09-29
import re

s = '12345abcdef'
n = int(re.search(r'\d+', s).group(0))
print(n) # 12345
第2个回答  2020-09-30

楼上给的是答案,re是正则表达式的库,正则表达式基本在所有语言里面的规则是通用的,建议学一下匹配查找规则。

如果感觉正则难理解实践的话,楼主的问题也可以这么解,思路如下:

    数字对象是有限的,0-9嘛,所以我们可以构建一个0到9的列表

    然后遍历要查找的字符串,判断每个字符串是否在构建的数字列表中

    如果满足第2步的要求,那么就输出出来,也可以放在一个新的字符串串起来,然后就得到自己想要的结果啦

for str_object in '12345abcdef':

    if str_object in int_list:#in_list是构建的数字列表

        下一步把数字取出来