如何用单个反斜杠替换单个正斜杠

时间:2020-10-02 00:03:43

标签: python-3.x

考虑一个python变量,该变量包含带有一些正斜杠的任意字符串。我想要 用反斜杠替换字符串中的每个正斜杠。这些正斜杠出现 在输入字符串中,而不是在路径分隔符的上下文中。

我找不到使用python的字符串“替换”方法进行此替换的方法。

使用单个反斜杠作为第二个参数会产生语法错误,因为单个反斜杠 转义终止报价

Malloc

在替换字符串中使用两个单反斜杠在输出字符串中生成两个反斜杠

>>> s = 'a26/n//3@5'
>>> s
'a26/n//3@5'
>>> s.replace('/', '\')
  File "<stdin>", line 1
    s.replace('/', '\')
                      ^
SyntaxError: EOL while scanning string literal

替换后的字符串应包含

>>> s.replace('/', '\\')
'a26\\n\\\\3@5'

1 个答案:

答案 0 :(得分:2)

您看到的输出是字符串的repr表示形式。

>>> s = 'a26/n//3@5'
>>> s
'a26/n//3@5'
>>> s.replace('/', '\\')
>>> s
>>> 'a26\\n\\\\3@5' # repr representation ('\' as '\\')

要获得预期的输出,您应该print字符串:

>>> new_s = s.replace('/', '\\')
>>> print(new_s)
>>> a26\n\\3@5

编辑:固定错字