Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除python2.7中的特定字符串_Python - Fatal编程技术网

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

删除python2.7中的特定字符串,python,Python,我的名单如下: >>> header ['Id', ["['GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']"]] >>> type(header) list 如何将其更改为字符串,如下所示: ['Id','GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt'] 我尝试使用re.split(“\[\124;\]\\”,str(header))。但结果不是我想要的

我的名单如下:

>>> header
['Id', ["['GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']"]]
>>> type(header)
list
如何将其更改为字符串,如下所示:

['Id','GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']
我尝试使用
re.split(“\[\124;\]\\”,str(header))
。但结果不是我想要的

['',
 "'Id', ",
 '',
 '',
 "'GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt'",
 '',
 '',
 '',
 '']
所以,任何建议都是希望。

这个怎么样

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

如果您始终使用与示例中相同的格式,并且第二个字符串具有正确的Python语法,那么这将起作用。

使用正则表达式如何

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

数据从哪里来?为什么你不能在那里解决这个问题?是的,我正在尝试。请通过编辑你的问题来显示
标题
的分配位置,并希望修剪字符串。它是固定的。是的,为什么在我指示
str(header)
'[\'Id\',[”时会出现“\”[\'GSM1172844\'U 184A1.txt\',\'GSM1384316\'U MDAMB453.txt\']“]]'
因为在类型转换中,像
这样的特殊字符必须转义。作为您的代码(
替换(“\'”,“”)
),当类型转换可以像普通字符串一样操作时出现的反斜杠。谢谢,让我学习一个新的内置函数。为什么不使用
ast
模块来计算该列表?@cricket_007'ast.literal\u eval'如果输入不是有效的Python数据类型,则会引发异常,因此如果不是,则不会执行代码。
In [1]: import re
In [2]: re.findall("[A-Za-z0-9_\.]+", str(header))
Out[2]: ['Id', 'GSM1172844_184A1.txt', 'GSM1384316_MDAMB453.txt']