繁体   English   中英

从 python 中的字符串中删除任何类型的引号

[英]Remove any kind of quotes from a string in python

示例字符串:

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

Output:

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

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

您可以调用 replace 两次。

你可以使用 str.translate:

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

您可以使用正则表达式。

这些方法中的任何一种都会起作用。

使用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在遇到时删除所述字符的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM