['00', '11"', 'aa', 'bb', "cc'"]
这是在Python中。我想剥掉双引号,以便我的输出变为
['00', '11', 'aa', 'bb', 'cc']
我该怎么做?
答案 0 :(得分:5)
看起来你要在这里两次使用str.strip()
功能。
首先删除"
,然后删除'
。
In [1]: lis=['00', '11"', 'aa', 'bb', "cc'"]
In [2]: [x.strip('"').strip("'") for x in lis]
Out[2]: ['00', '11', 'aa', 'bb', 'cc']
或根据@DSM的建议,我们不需要2 strip()
次来电:
In [14]: [x.strip("'" '"') for x in lis]
Out[14]: ['00', '11', 'aa', 'bb', 'cc']
因为,相邻的字符串文字会自动合并:
In [15]: "'" '"'
Out[15]: '\'"'
In [16]: "a"'b'"c"'d'
Out[16]: 'abcd'
另一种选择可以是regex
:
In [6]: [re.search(r'\w+',x).group() for x in lis]
Out[6]: ['00', '11', 'aa', 'bb', 'cc']
答案 1 :(得分:1)
Python 2.6和更新的Python 2.x版本:
line = ['00', '11"', 'aa', 'bb', "cc'"]
line = [x.translate(None,'\'\"') for x in line]
答案 2 :(得分:0)
您应该使用正则表达式。有关更多信息,请查看此站点。
http://www.regular-expressions.info/python.html
正则表达式是查找和替换的代码版本。你要找的是使用正则表达式,例如r' [\' \"]'并用空字符串替换它。虽然Python不是我最大的优势,但这应该会让你朝着正确的方向发展。