Skip to main content
 首页 » 编程设计

python之如何以正确的方式过滤字符串以接收包含的内容

2025年05月04日23arxive

我在 python 中有这个字符串

{ "rval": 0, "param_size": 4, "param": [ 8, 0, 0, 0 ], "session_id": 4 } 

如何以正确的方式过滤此字符串以接收此示例中的数字 8?

所有数字和参数都可以改变

我的方法

re.findall('"param": (.+) }',data)[0] 

但它输出

[ 8, 0, 0, 0 ], "session_id": 4 

而不是 8

请您参考如下方法:

甚至不必费心对其进行正则表达式处理。将字符串转换为 Python 字典(使用 json 或 literal_eval 模块)然后简单地 d['param'][0]。

from ast import literal_eval 
 
string = '{"rval": 0, "param_size": 4, "param": [ 8, 0, 0, 0 ], "session_id": 4 }' 
 
d = literal_eval(string) 
print(d['param'][0]) 
# 8