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

时间:2014-01-14 21:19:15

标签: python

如何将像下面这样的字符串变量拆分成单个组? var.split(",")也将括号内的那些分开。

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

期望的结果:

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

1 个答案:

答案 0 :(得分:4)

使用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'))

来自docs:

  

安全地评估表达式节点或Unicode或Latin-1编码   包含 Python表达式的字符串。提供的字符串或节点可以   只包含以下Python文字结构:strings,   numberstupleslistsdictsbooleansNone