怎么用python提取字符串中的数字
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇"怎么用python提取字符串中的数字"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这
千家信息网最后更新 2026年11月04日怎么用python提取字符串中的数字
这篇"怎么用python提取字符串中的数字"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"怎么用python提取字符串中的数字"文章吧。
一、isdigit()函数
isdigit()函数是检测输入字符串是否只由数字组成。如果字符串只包含数字则返回 True 否则返回 False。
dream = "123456"print(dream.isdigit())# 返回:Truedream = "123abc456"print(dream.isdigit())# 返回:Falsedream = 'abcd'print(dream.isdigit())# 返回:False
二、filter() 函数
说明:filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象;
如果要转换为列表,可以使用 list() 来转换。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
语法:
filter(function, iterable)
1、过滤出列表中的所有奇数:
def is_odd(n): return n % 2 == 1 tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])newlist = list(tmplist)print(newlist)
2、过滤出列表中的所有偶数:
l = [x for x in range(10)]print(list(filter(lambda x : x%2 == 0, l)))
3、过滤出1~100中平方根是整数的数:
import mathdef is_sqr(x): return math.sqrt(x) % 1 == 0 tmplist = filter(is_sqr, range(1, 101))newlist = list(tmplist)print(newlist)
4、删除1-100中素数
L = range(1, 101)def isprimer(n): flag = 1 for i in range(2, n): if n % i == 0: flag = 0 if flag == 0: return nprint(list(filter(isprimer, L)))
5、去除空格和空值
def not_empty(s): return s and s.strip()filter(not_empty, ['A', '', 'B', None, 'C', ' '])
6、高阶运用
def _odd_iter(): n = 1 while True: n = n + 2 yield n def _not_divisible(n): return lambda x : x%n>0 def primes(): yield 2 it = _odd_iter() ftr = filter(_not_divisible(2), it) #1 while True: n = next(ftr ) #2 yield n ftr = filter(_not_divisible(n), ftr ) #3 for n in primes(): if n < 100: print('now:',n) else: break三、提取一段字符串中的数字
列表转字符串
number = ['12', '333', '4']number_ = "".join(number) # 列表转字符串print(number_) # 123334
a = "".join(list(filter(str.isdigit, '123ab45')))print(a)# 返回12345b = list(filter(str.isdigit, '123ab45'))print(b)# 返回['1', '2', '3', '4', '5']
time_ = "2019年09月04日 11:00"time_filter = filter(str.isdigit, time_)print(time_filter) #print(type(time_filter)) # time_list = list(time_filter) # ['2', '0', '1', '9', '0', '9', '0', '4', '1', '1', '0', '0']time_str = "".join(time_list) # 转为str 201909041100time_int = int(time_str) # 转为int 201909041100
利用正则表达式
import restr_ = "12今天333天气4不错"number = re.findall("\d+",str_) # 输出结果为列表print(number) # 输出结果:['12', '333', '4']四、匹配指定字符串开头的数字
例如下面的string:
tensorflow:Final best valid 0 loss=0.20478513836860657 norm_loss=0.767241849151384 roc=0.8262403011322021 pr=0.39401692152023315 calibration=0.9863265752792358 rate=0.0
提取 calibration=0.9863265752792358 .
# 匹配"calibration="后面的数字pattern = re.compile(r'(?<=calibration=)\d+\.?\d*')pattern.findall(string)# ['0.9863265752792358']

五、匹配时间,17:35:24
string = "WARNING:tensorflow: 20181011 15:28:39 Initialize training"pattern = re.compile(r'\d{2}:\d{2}:\d{2}')pattern.findall(string)# ['15:28:39']六、匹配时间,20181011 15:28:39
string = "WARNING:tensorflow: 20181011 15:28:39 Initialize training"pattern = re.compile(r'\d{4}\d{2}\d{2}\s\d{2}:\d{2}:\d{2}')pattern.findall(string)# ['20181011 15:28:39']以上就是关于"怎么用python提取字符串中的数字"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
字符
字符串
数字
函数
内容
元素
序列
参数
文章
时间
知识
篇文章
结果
输出
不错
两个
价值
偶数
大部分
天气
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技股互联网
互联网和科技创新
极限挑战互联网科技
云电互联网科技
腾讯科技 互联网女皇
深圳天众互联网科技公司
互联网金融科技委员会
联恩商钥互联网科技有限公司
海南购全球互联网科技
青岛中康互联网医疗科技有限公司
中盈科技互联网信息有限公司
中国的互联网科技企业的崛起
字节跳动和互联网科技
互联网时代科技改变生活
彤创互联网科技有限公司
银川新华互联网科技学校联系电话
美国互联网科技公司
互联网科技融合创新
中国科技和美国互联网
互联网科技大佬云集
重庆互联网络科技
互联网科技与金融科技
深圳互联网科技公司
碳银互联网科技有限公司
撒么互联网科技公司
大白互联网科技
互联网汽车科技小镇
中国的互联网科技企业的崛起
长沙易易互联网科技有限公司
杭州科技互联网公司有哪些