繁体   English   中英

在特定的一组字符串和字符之后找到字符串中的数字

[英]Find a number in a string after specific set of strings and characters

我是python noob,尝试提取数字时遇到麻烦。 它是一个SQL查询,但我将其转换为字符串类型。 如果有更好的方法可以做到这一点,请也告诉我。 我的字符串包含许多相似的单词,因此我想在一组不同的单词之后提取数字。

{'first_name': 'Abigail', 'last_name': 'Smith', 'updated': '2017-12-04 22:12:24.699-08', 'account_id': '338502', 'created': '2017-12-04 22:12:24.699-08', 'student_id': '1730', 'notes': '', 'school_id': '16', 'major_id': '20', 'status': 'OPEN', 'id': '37'}

因此,我想从他们的键“ id”中提取“ 37”。 将其存储在变量中

我使用.split()进行了尝试,但由于存在撇号和冒号,因此我不确定该字符是否有效,因为有些字符无法与该索引一起使用。 我知道有一种使用SQL来获取结果的方法(query.get('id')),但是我想知道一种将其提取为字符串的方法。

请帮忙! 谢谢!

这看起来像是dictionary -因此您只需通过set["id"]即可访问它

di = {'first_name': 'Abigail', 'last_name': 'Smith', 'updated': '2017-12-04 22:12:24.699-08', 'account_id': '338502', 'created': '2017-12-04 22:12:24.699-08', 'student_id': '1730', 'notes': '', 'school_id': '16', 'major_id': '20', 'status': 'OPEN', 'id': '37'}

print(di["id"])

输出:

37

做完了

如果它是字符串,则可以将其拆分为如下所示的字典:

di = "{'first_name': 'Abigail', 'last_name': 'Smith', 'updated': '2017-12-04 22:12:24.699-08', 'account_id': '338502', 'created': '2017-12-04 22:12:24.699-08', 'student_id': '1730', 'notes': '', 'school_id': '16', 'major_id': '20', 'status': 'OPEN', 'id': '37'}"

pairs = [x.replace("'","").strip("{}") for x in di.split(",")]
dic = dict( [ x.replace("'","").strip().split(":",1) for x in pairs] )
print(dic)
print(dic ["id"])

输出:

{'first_name': ' Abigail', 'last_name': ' Smith', 'updated': ' 2017-12-04 22:12:24.699-08', 'account_id': ' 338502', 'created': ' 2017-12-04 22:12:24.699-08', 'student_id': ' 1730', 'notes': '', 'school_id': ' 16', 'major_id': ' 20', 'status': ' OPEN', 'id': ' 37'}
 37

您可以使用ast模块将字符串转换为字典

import ast
d="{'first_name': 'Abigail', 'last_name': 'Smith', 'updated': '2017-12-04 22:12:24.699-08', 'account_id': '338502', 'created': '2017-12-04 22:12:24.699-08', 'student_id': '1730', 'notes': '', 'school_id': '16', 'major_id': '20', 'status': 'OPEN', 'id': '37'}"
dic=ast.literal_eval(d)
print dic['id']

输出量

37

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM