问题描述
示例字符串:
'" "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
删除遇到的字符的方法。