在具有多个拆分器的python中拆分字符串

问题描述:

如何将如下所示的字符串变量拆分为单个组? var.split(",")也分裂在括号内的那些。在具有多个拆分器的python中拆分字符串

var = "(5, 'kghjsg'), (6, 'kghjsghk'), (7, 'jksgjsg'), (8, 'ksgshgk'), (9, 'hjsdhg')" 

期望的结果:

[(5, 'kghjsg'), 
(6, 'kghjsghk'), 
.. 
] 
+0

您的字符串是否保证采用该格式?如果是这样,你可以使用'literal_eval()'。 – thegrinner

使用ast.literal_eval

>>> 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字面结构的节点:dictsstringsnumberstupleslistsbooleans,和None

+0

注意这里假设要解析的字符串是一个有效的Python表达式。 – thegrinner