使用're'从字符串中提取列表

时间:2012-11-23 06:03:07

标签: python regex parsing

我有一个这种格式的字符串:any_string = "[u'02', u'03', u'04', u'05']"。 我想从中提取一个看起来像new_list = ['02', '03', '04', '05']

的列表

我正在使用're'。下面的代码我写的是为了完成这项工作,但没有运气

import re

new_list = re.findall(r'["w "]', any_string)

我的结果为[' ', ' ', ' ']

基本上我想要一个像new_list = ['02', '03', '04', '05']这样的列表,这样我就可以循环遍历02, 03, 04 , 05

这些单独的项目

2 个答案:

答案 0 :(得分:8)

如果您与re无关,那么ast呢?还有一封信:)

In [1]: import ast

In [2]: any_string = "[u'02', u'03', u'04', u'05']"

In [3]: my_list = ast.literal_eval(any_string)

In [4]: type(my_list)
Out[4]: <type 'list'>

In [5]: my_list
Out[5]: [u'02', u'03', u'04', u'05']

In [6]: for item in my_list:
   ...:     print item
   ...:
   ...:
02
03
04
05

答案 1 :(得分:3)

我会问你从哪里得到这个字符串。它看起来像是通过str()repr()传递的列表。如果您需要将列表序列化为字符串,请使用JSON或pickle