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
被解释为请求终端在解释字符串的其余部分之前转到换行符。
我将以下文本输出为 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
被解释为请求终端在解释字符串的其余部分之前转到换行符。