从python中的字符串中删除所有类型的引号

问题描述

示例字符串:

'" "Hello World" "'
'" Today isn't a good day for hello world"'
'" Today "is" a good day for hello world "'

输出

'"Hello World'"
'"Today isnt a good day for hello world'"
'"Today is a good day for hello world'"

我尝试了字符串替换,但是无法执行str.replace("\"'","")。有没有使用正则表达式甚至只是替换方法的好方法

解决方法

您可以拨打电话两次。

您可以使用str.translate:

>>> s = '" "Hello World" "'
>>> remove_quotes = str.maketrans('','',"'\"")
>>> s.translate(remove_quotes)
' Hello World '

您可以使用正则表达式。

这些方法中的任何一种都行得通。

,

Use str.translate一次执行两次替换。

quote_dropper = str.maketrans('','\'"')  # Ideally done once up front,and reused

# ... later,when you need to strip quotes from a string ...
mystr = mystr.translate(quote_dropper)

str.maketrans只需做一个简单的dict即可将两个字符的代码映射到None,这就是告诉translate删除遇到的字符的方法。