首页 > 解决方案 > 用python解析一个像字符串一样的元组

问题描述

我有一个像字符串一样的元组:

("a",10,4,"abc")

我想解析它以包含字符串列表中的每个项目:

ans = [a, 10, 4, abc]

在示例中,我很容易实现用逗号分割字符串行。

但是,字符串行中的字符串项可能有逗号和双引号,例如

("abc",10,-4,"abc"","d,ef")

我想得到字符串列表。

ans = [abc, 10, -4, abc", d,ef]

有没有人有一个用 Python 实现它的好主意?

标签: pythonregex

解决方案


如果字符串是用双引号封装的,并且您在"其中使用 a 。所以需要使用转义字符\来表示它是一个字符。

试试这个代码!

import ast

print(list(ast.literal_eval('("abc",10,-4,"abc\\"","d,ef")')))

输出 :

['abc', 10, -4, 'abc"', 'd,ef'] 

推荐阅读