怎么用python提取字符串中的数字
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇"怎么用python提取字符串中的数字"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这
千家信息网最后更新 2025年11月15日怎么用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安全错误
数据库的锁怎样保障安全
数据库查询字段相同的个数
服务器纯硬件以及虚拟化
8核16g服务器多少钱一年
我国互联网科技发达
失落城堡中国服务器4000ms
数据库三级有什么用
多维数据库是空间立方体吗
轻量云服务器个人版跟企业版
天谕服务器名字
房天下网络技术
服务器安装forge
软件开发行业就业调研报告
数据库查询慢怎么办
第一节 计算机网络技术基础
软件开发itc是什么意思
山西常规软件开发公司
学软件开发哪个大学更好
嘉定区特定软件开发服务销售公司
医院网络安全自查
软件开发答辩稿
连接外服务器后怎么恢复无线网络
gmsql连接远程数据库
64式坦克数据库
阿里云可以用云服务器吗
学术数据库商业模式
巨杉数据库上班时间
网络安全发展综述
ios软件开发平台
券商 软件开发投入
高校信息化网络安全规范标准