删除python2.7中的特定字符串

时间:2017-04-01 15:20:01

标签: python

我有一个如下列表:

>>> header
['Id', ["['GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']"]]
>>> type(header)
list

而且,如何将其更改为字符串,如下所示;

['Id','GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']

我尝试使用re.split('\[|\]|\"',str(header))。但结果并非我想得到。

['',
 "'Id', ",
 '',
 '',
 "'GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt'",
 '',
 '',
 '',
 '']

所以,任何建议都是希望。

3 个答案:

答案 0 :(得分:0)

这个怎么样?

>>> header = ['Id', ["['GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']"]]
>>> str(header).replace('[','').replace(']','').replace('"','').replace("'",'').split(', ')
['Id', 'GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']

答案 1 :(得分:0)

parsed = header[:1] + eval(header[1][0])

如果您始终拥有示例中的确切格式并且第二个字符串具有正确的Python语法,则此方法将起作用。

答案 2 :(得分:0)

如何使用正则表达式?

In [1]: import re
In [2]: re.findall("[A-Za-z0-9_\.]+", str(header))
Out[2]: ['Id', 'GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']