这对我来说感觉像个错误。我无法用一个反斜杠替换字符串中的字符:
>>>st = "a&b"
>>>st.replace('&','\\')
'a\\b'
我知道'\'
不是合法字符串,因为\
会转义最后一个'
。
但是,我不希望结果为'a\\b'
;我希望它是'a\b'
。这怎么可能?
答案 0 :(得分:13)
您正在查看字符串表示,它本身就是一个有效的Python字符串文字。
\\
本身只是一个斜杠,但显示为转义字符,使值成为有效的Python文字字符串。您可以将该字符串复制并粘贴回Python中,它将生成相同的值。
使用print st.replace('&','\\')
查看显示的实际值,或测试结果值的长度:
>>> st = "a&b"
>>> print st.replace('&','\\')
a\b
>>> len(st.replace('&','\\'))
3