问题:从字符串“1小时12分钟”中(其中两个数字是变化的)截取出1和12.或者说“共12页”截取出12
切片的方法比较简单,但不适合变化的字符串。
filter(str.isdigit,"1小时12分钟")返回的列表是:['1','1','2']
注,该方法在python2是直接返回列表,而在python3中返回的是filter对象,需要将其转换成list,方法是:list(filter(str.isdigit,"1小时12分钟"))
正确的方法是:
import re
re.findall(r"\d+",“1小时12分钟”)
结果是:['1','12']
a = "1 第1页/共10页 转到第页"
b = a.strip().split(" ")[1].split("/")[1]
cont = re.findall(r'\d+', b)
print(cont[0])
结果是:10 其中10是字符串
注:
re.findall 方法能够以列表的形式返回全部匹配的子串. r标识代表后面是正则的语句 “d”是正则语法规则用来匹配0到9之间的数 +表示匹配多个连续的数字。