Python 从字符串中的单引号中删除双引号
这是用Python编写的。我想去掉双引号,这样我的输出就变成Python 从字符串中的单引号中删除双引号,python,quote,Python,Quote,这是用Python编写的。我想去掉双引号,这样我的输出就变成 ['00', '11"', 'aa', 'bb', "cc'"] 我该怎么做 看起来您必须在这里使用str.strip()函数两次。 首先删除“,然后删除” ['00', '11', 'aa', 'bb', 'cc'] 或者按照@DSM的建议,我们不需要2个strip()调用: In [1]: lis=['00', '11"', 'aa', 'bb', "cc'"] In [2]: [x.strip('"').strip("
['00', '11"', 'aa', 'bb', "cc'"]
我该怎么做 看起来您必须在这里使用
str.strip()
函数两次。
首先删除“
,然后删除”
['00', '11', 'aa', 'bb', 'cc']
或者按照@DSM的建议,我们不需要2个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']
因为,相邻的字符串文字会自动组合:
In [14]: [x.strip("'" '"') for x in lis]
Out[14]: ['00', '11', 'aa', 'bb', 'cc']
另一种选择可以是regex
:
In [15]: "'" '"'
Out[15]: '\'"'
In [16]: "a"'b'"c"'d'
Out[16]: 'abcd'
Python 2.6和更新的Python 2.x版本:
In [6]: [re.search(r'\w+',x).group() for x in lis]
Out[6]: ['00', '11', 'aa', 'bb', 'cc']
你应该使用正则表达式。有关更多信息,请查看此网站
正则表达式是“查找和替换”的代码版本。您要查找的是使用正则表达式,如r“[\'\“]”,并将其替换为空字符串。虽然Python不是我最大的优势,但这应该会给你一个正确的方向。你的数据是以字符串的形式存在的吗?你可以在一个
条带中完成它:[x.strip(““”””)对于lis中的x]
(在这里,我利用了相邻字符串文字组合的事实;”\''
也可以,但我在读取转义字符串时遇到困难。)@DSM我差点忘了这个概念,谢谢你提醒我。我会使用。可能会替换,没有理由只从末尾删除引号。
line = ['00', '11"', 'aa', 'bb', "cc'"]
line = [x.translate(None,'\'\"') for x in line]