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

如何用Python正则表达式从字符串中提取油耗和CO2排放相关数据

正确实现代码

你之前的正则规则没有对齐油耗、CO₂排放的固定格式特征,所以无法匹配到结果,以下是可直接运行的实现:

import re

# 适配两种格式的正则规则
# 分组1匹配油耗:逗号分隔的小数 + 任意空格 + l/100km
# 分组2匹配CO₂排放:整数 + 任意空格 + g + 任意空格 + CO₂/km(兼容CO2写法)
extract_pattern = re.compile(
    r'(\d+,\d+\s*l/100km).*?(\d+\s*g\s*CO[₂2]/km)',
    flags=re.DOTALL
)

# 测试你的两个单元格示例
cell_list = [
    "17.160 km, 80 kW (109 PS)Limousine, Autogas (LPG), Automatik, HU Neu, 2/3 Türenca. 5,0 l/100km (komb.), ca. 116 g CO₂/km (komb.)",
    "EZ 10/2018, 12.900 km, 80 kW (109 PS)Limousine, Unfallfrei, Hybrid (Benzin/Elektro), Halbautomatik, HU Neu, ca. 5,9 l/100km (komb.), ca. 134 g CO₂/km (komb.)"
]

for cell in cell_list:
    match_res = extract_pattern.search(cell)
    if match_res:
        fuel, co2 = match_res.groups()
        # 按你的需求把CO₂下标替换为普通2
        co2 = co2.replace("₂", "2")
        # 输出结果,也可以按需求存入列表/表格
        print(f"油耗:{fuel},CO₂排放:{co2}")

运行输出

油耗:5,0 l/100km,CO₂排放:116 g CO2/km
油耗:5,9 l/100km,CO₂排放:134 g CO2/km

可选单独匹配规则

如果你的单元格可能只存在油耗或排放其中一种,可以用两个正则分开匹配:

  • 匹配油耗:r'\d+,\d+\s*l/100km'
  • 匹配CO₂排放:r'\d+\s*g\s*CO[₂2]/km'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:06:06