Python: 删除字符串中的反斜杠?

Python: Removing backslash in string?

我将以下文本输出为 str():

"We\'ve ... here\'s why ... That\'s how ... it\'s"

如您所见,撇号前总是有一个“\”。

然后,我尝试了以下操作:

    text = text.replace("\", "")

SyntaxError: EOL while scanning string literal

同样发生在 text.replace("\", "")text.strip("\")

我怎样才能删除文本中的所有 \

谢谢!

解法:

\' 是 Python 输出字符串的方式。一旦执行 print() 或导出字符串,就没有问题了。

在 Python 2.7.13 中,此代码:

text = "We\'ve ... here\'s why ... That\'s how ... it\'s"
text = text.replace("\", "")
print text

输出We've ... here's why ... That's how ... it's

您使用的是不同版本的 Python,还是您有特定的代码段要查看?

编辑:

我还想提一下,撇号前面有一个反斜杠,因为它是 escape character。这本质上只是意味着您告诉终端 python 正在输出以字面解释撇号(在这种情况下),并且不要以不同于任何其他字符的方式处理它。

还值得注意的是,反斜杠还有其他好的用途(\n,或者换行符是最有用的恕我直言之一)。

例如:

text = "We\'ve ... here\'s why ...\nThat\'s how ... it\'s"
print text

输出:

We've ... here's why ...
That's how ... it's

并不是说 \n 被解释为请求终端在解释字符串的其余部分之前转到换行符。