2014-01-14 114 views
1

如何將如下所示的字符串變量拆分爲單個組? var.split(",")也分裂在括號內的那些。在具有多個拆分器的python中拆分字符串

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

期望的結果:

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

您的字符串是否保證採用該格式?如果是這樣,你可以使用'literal_eval()'。 – thegrinner

回答

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

從文檔:

安全評估的表達式節點或Unicode或Latin-1的編碼 字符串包含g a Python表達式。的字符串或提供可 僅由以下的Python字面結構的節點:dictsstringsnumberstupleslistsbooleans,和None

+0

注意這裏假設要解析的字符串是一個有效的Python表達式。 – thegrinner