4

我有一个字符串:

s = r"This is a 'test' string"

我正在尝试替换'为,\'因此字符串如下所示:

s = r"This is a \'test\' string"

我试过s.replace("'","\'")了,但结果没有变化。它保持不变。

4

3 回答 3

8

"\'"仍然是一样的"'"- 你必须逃避反斜杠。

mystr = mystr.replace("'", "\\'")

将其设为原始字符串r"\'"也可以。

mystr = mystr.replace("'", r"\'")

另请注意,您永远不应使用str(或任何其他内置名称)作为变量名,因为它会覆盖内置,并且可能会在您稍后尝试使用内置时引起混淆。

>>> mystr = "This is a 'test' string"
>>> print mystr.replace("'", "\\'")
This is a \'test\' string
>>> print mystr.replace("'", r"\'")
This is a \'test\' string
于 2013-03-04T07:24:41.783 回答
6

您必须转义“\”:

str.replace("'","\\'")

"\" 是一个转义序列指示符,要用作普通字符,必须自行转义。

于 2013-03-04T07:24:28.243 回答
2
>>> str = r"This is a 'test' string"
>>> print str
This is a 'test' string
>>> str.replace("'","\\'")
"This is a \\'test\\' string"

您需要转义特殊字符\

于 2013-03-04T07:25:19.510 回答