如何获取字符串指定的值

想得到其中的port 6667的值

>>> message = '''{\r\n"success":"true",\r\n"statuscode":"200",\r\n"message":"register success",\r\n"ip":"192.168.0.2",\r\n"port":6667\r\n}\r\n'''
>>> print(message)
{
"success":"true",
"statuscode":"200",
"message":"register success",
"ip":"192.168.0.2",
"port":6667
}

>>> type(message)
<class 'str'>


import json
data = json.loads(message)
data['port']

img

用键的形式去拿

如果确保格式无误,可以试试这样


message = '''{\r\n"success":"true",\r\n"statuscode":"200",\r\n"message":"register success",\r\n"ip":"192.168.0.2",\r\n"port":6667\r\n}\r\n'''
dic = eval(message.strip("\r\n"))
print(dic['port'])

如果是获得python字符串中指定的值可以考虑下面三种方法:
使用split函数,输入代码a.split('_')[1],提取下划线后面的内容,回车得到结果。
使用index函数,输入代码ind = a.index('_'),a[:ind]提取字符串下划线前半段的内容,回车得到结果。
使用find函数,输入代码index = a.find('_'),a[ind+1:]提取下划线后面的文字,回车得到正确结果。
希望对题主有所帮助,可以的话,帮忙点个采纳!

exec("d=" + message )
print(d['port'])


import json
message = '{\r\n"success":"true",\r\n"statuscode":"200",\r\n"message":"register success",\r\n"ip":"192.168.0.2",\r\n"port":6667\r\n}\r\n'
message =json.loads(message) #将json串转换为字典
print(message['port'])
message['port'] = 666  #修改port的值
print(message['port'])

img


有帮助的话采纳一下哦!🙊🙊🙊