2024-04-20 00:22:58 发布
网友
假设我有一根弦
st = "'aaa': '1', 'bbb': '2.3', 'ccc': 'name'"
我想从st摘录以下内容
['1', '2.3', 'name']
我该怎么做
谢谢
最好使用ast模块,就像jezrael那样。下面是使用regex的另一个解决方案:
ast
import re st = "'a': '1', 'b': '2.3', 'c': 'name', 'd': 229, 'e': '', 'f': '228', 'g': 12" print re.findall(r'\'\S+?\':\s*\'?(.*?)\'?(?:,|$)', st)
输出:
['1', '2.3', 'name', '229', '', '228', '12']
regex101上的演示:
https://regex101.com/r/zGAt4D/5
您可以首先通过^{}创建dict,然后获得values:
dict
values
import ast st = "'aaa': '1', 'bbb': '2.3', 'ccc': 'name'" print (ast.literal_eval('{' + st + '}')) {'aaa': '1', 'bbb': '2.3', 'ccc': 'name'} #python 3 add list print (list(ast.literal_eval('{' + st + '}').values())) ['1', '2.3', 'name'] #python 2 print ast.literal_eval('{' + st + '}').values() ['1', '2.3', 'name']
最好使用
ast
模块,就像jezrael那样。下面是使用regex的另一个解决方案:输出:
regex101上的演示:
https://regex101.com/r/zGAt4D/5
您可以首先通过^{} 创建
dict
,然后获得values
:相关问题 更多 >
编程相关推荐