You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从指定字符串提取SW A_done与SW B_done的浮点数值?

提取指定标识对应数值的实用方法

方案1:正则表达式(最稳妥)

直接用正则匹配SW A_done:和SW B_done:后面的数值,不管中间夹了多少空格,都能精准抓出来:

import re

line = "SW A_done:    191168 SW B_done:     27720"
# 匹配SW A_done后的数值,支持整数和小数
a_done = float(re.search(r'SW A_done:\s+(\d+\.?\d*)', line).group(1))
# 匹配SW B_done后的数值
b_done = float(re.search(r'SW B_done:\s+(\d+\.?\d*)', line).group(1))

print(a_done, b_done)  # 输出:191168.0 27720.0

如果确定数值都是整数,把\d+\.?\d*换成\d+也可以。

方案2:按关键字分割(无需额外模块)

先把字符串按SW A_done:切开,取后半部分再用split()自动过滤所有空值,拿第一个元素就是目标数值;同理处理SW B_done::

line = "SW A_done:    191168 SW B_done:     27720"

# 提取SW A_done对应的数值
a_part = line.split('SW A_done:')[1].split()
a_done = float(a_part[0])

# 提取SW B_done对应的数值
b_part = line.split('SW B_done:')[1].split()
b_done = float(b_part[0])

print(a_done, b_done)

这种方法不用导入库,逻辑直白,哪怕数值是0也能正常提取,不会被空值干扰。

内容的提问来源于stack exchange,提问作者user3555115

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 11:16:01