我需要从python中的字符串中去掉字符"'"
。我该怎么做?
我知道有一个简单的答案。我真正想要的是如何在我的代码中编写'
。例如\n
=换行符。
答案 0 :(得分:71)
至于如何在Python中将单个撇号表示为字符串,您可以简单地用双引号("'"
)包围它,或者您可以在单引号('\''
)内转义它。
要从字符串中删除撇号,一种简单的方法是用空字符串替换撇号字符:
>>> "didn't".replace("'", "")
'didnt'
答案 1 :(得分:10)
以下是从python中的字符串中删除单个'
的几种方法。
replace
通常用于返回一个字符串,其中替换了子字符串的所有实例。
"A single ' char".replace("'","")
str.translate
要删除字符,您可以将第一个参数传递给funstion,并将所有子字符串作为第二个删除。
"A single ' char".translate(None,"'")
您必须使用str.maketrans
"A single ' char".translate(str.maketrans({"'":None}))
使用re
的正则表达式更强大(但速度很慢),可用于替换与特定正则表达式匹配的字符而不是子字符串。
re.sub("'","","A single ' char")
其他方式
还有一些其他方法可以使用,但根本不推荐。 (只是为了学习新方法)。这里我们将给定的字符串作为变量string
。
''.join([c for c in string if c != "'"])
''.join(c for c in string if c != "'")
也可以使用另一种最终方法(同样不推荐 - 仅在只有一次出现时才有效)
答案 2 :(得分:2)
你的意思是这样吗?
>>> mystring = "This isn't the right place to have \"'\" (single quotes)"
>>> mystring
'This isn\'t the right place to have "\'" (single quotes)'
>>> newstring = mystring.replace("'", "")
>>> newstring
'This isnt the right place to have "" (single quotes)'
答案 3 :(得分:0)
您也可以使用\
字符转义撇号:
mystring.replace('\'', '')