文字列をリストに変換しようとしていますが、split
とfindall
を試しましたが、運はありません。また、私はfor
ループを回避したいのですが....分割文字列区切り文字
サンプル:
import re
string2list = "[{u'name': u'a', u'number': u'123', u'addr': u'123
sunshine'}, {u'name': u'b', u'number': u'456', u'addr': u'123 sunset'}]"
print re.findall('[^},]+},', string2list)
print re.split('[},]', string2list)
print re.split('[},] + }', string2list)`
所望の出力は、元の文字列のリストである:
[{u'name': u'a', u'number': u'123', u'addr': u'123
sunshine'}, {u'name': u'b', u'number': u'456', u'addr': u'123 sunset'}]
EDIT: Pythonのバージョン< = 2.7。
EDIT 2: これはほとんど機能し、ちょうど}
行方不明:eval
を使用して :
print string2list.replace('[', '').replace(']', '').split('}')
EDIT 3。
のPythonの 'ast.literal_eval' – kindall
バージョン? – dawg
@dawgは2.4以降で動作するはずです。 –