我想要在一个字符串中提取一些特定的内容,并把它们保存在一个变量中。
例如:
原字符串:
str = '{"ok":true,"result":[{"update_id":40,"message":{"message_id":62,"chat":{"id":76166858,"type":1},"from":{"id":76166858,"first_name":"Mike","last_name":"Qin","username":""},"text":"你好","date":1675146092},"lang":"zh-CN","os_type":"android"}]}'
我需要里面的chat_id(即字符串中的"chat":{"id":76166858,"type":1}),例子中是:76166858
请问如何提取并将它储存在变量中?
如果格式是固定的话,直接用a=str.split(",")[3].split(":")[2]
这是个json字符串
你直接调用json的库解析它即可
或者通过eval(str)把它变成一个字典和列表的复杂结构,然后一层一层的去拿它的值
eval(str)["result"]["message"]["chat"]["id"]
## 方法一
import json
str = '{"ok":true,"result":[{"update_id":40,"message":{"message_id":62,"chat":{"id":76166858,"type":1},"from":{"id":76166858,"first_name":"Mike","last_name":"Qin","username":""},"text":"你好","date":1675146092},"lang":"zh-CN","os_type":"android"}]}'
#通过json的loads方法把字符串转换成json对象,在python中也就是字典格式
data=json.loads(str)
#调用dict的方法,获取对应的数据
chat_id = data.get('result')[0].get('message').get('chat').get('id')
print(chat_id)
## 方法二
str = '{"ok":true,"result":[{"update_id":40,"message":{"message_id":62,"chat":{"id":76166858,"type":1},"from":{"id":76166858,"first_name":"Mike","last_name":"Qin","username":""},"text":"你好","date":1675146092},"lang":"zh-CN","os_type":"android"}]}'
chat_id = str.split("chat")[1].split(',')[0].split(':')[2]
print(chat_id)
不知道你这个问题是否已经解决, 如果还没有解决的话: