考虑一个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'
答案 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
编辑:固定错字