在具有多个拆分器的python中拆分字符串
问题描述:
如何将如下所示的字符串变量拆分为单个组? var.split(",")
也分裂在括号内的那些。在具有多个拆分器的python中拆分字符串
var = "(5, 'kghjsg'), (6, 'kghjsghk'), (7, 'jksgjsg'), (8, 'ksgshgk'), (9, 'hjsdhg')"
期望的结果:
[(5, 'kghjsg'),
(6, 'kghjsghk'),
..
]
答
>>> from ast import literal_eval
>>> var = "(5, 'kghjsg'), (6, 'kghjsghk'), (7, 'jksgjsg'), (8, 'ksgshgk'), (9, 'hjsdhg')"
>>> literal_eval(var)
((5, 'kghjsg'), (6, 'kghjsghk'), (7, 'jksgjsg'), (8, 'ksgshgk'), (9, 'hjsdhg'))
从文档:
安全评估的表达式节点或Unicode或Latin-1的编码 字符串包含g a Python表达式。的字符串或提供可 仅由以下的Python字面结构的节点:
dicts
strings
,numbers
,tuples
,lists
,booleans
,和None
。
+0
注意这里假设要解析的字符串是一个有效的Python表达式。 – thegrinner
您的字符串是否保证采用该格式?如果是这样,你可以使用'literal_eval()'。 – thegrinner