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

Python解析键值对字符串提取等号右侧值错误排查

错误原因

你选择的拆分逻辑有问题:原始字符串的键值对之间用逗号分隔,直接按=拆分后,除了最后一个元素,其余每个=后面的内容都会同时包含当前值、逗号、下一个键的名称,你直接提取对应位置的内容没有剔除后面多余的键部分,自然会出现多余内容。

修正方案

优先推荐先拆分键值对再提取值的方案,逻辑清晰,兼容性更强(可以兼容值内包含等号的场景):

key_value_line = 'date=2013-03-15 15:59:21,esname=FHY,esid=FG224B3907501199,es_group=N/A,src=192.168.1.133,spt=52906,dst=173.194.39.154,dpt=80,vdom=root,rcv=11257,proto=http,url=googlesyndication.com,sid=62551133,info=URL has been visited,cat=webfilter'
# 先按逗号拆成单个独立的键值对
kv_pairs = key_value_line.split(',')
values = []
for kv in kv_pairs:
    # 每个键值对最多按=拆分1次,避免值内有等号时被误拆分,取第二部分就是目标值
    _, val = kv.split('=', 1)
    values.append(val)
print(values)

也可以用正则表达式快速匹配所有值:

import re
values = re.findall(r'=([^,]*)', key_value_line)
print(values)

两种方案最终都能得到预期结果:
['2013-03-15 15:59:21', 'FHY', 'FG224B3907501199', 'N/A', '192.168.1.133', '52906', '173.194.39.154', '80', 'root', '11257', 'http', 'googlesyndication.com', '62551133', 'URL has been visited', 'webfilter']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:39:03