[英]Replace a character with backslash bug - Python
对我来说,这感觉像是个虫子。 我无法用单个反斜杠替换字符串中的字符:
>>>st = "a&b"
>>>st.replace('&','\\')
'a\\b'
我知道'\\'
不是合法的字符串,因为\\
转义了最后一个'
。 但是,我不希望结果为'a\\\\b'
; 我希望它是'a\\b'
。 这怎么可能?
您正在查看字符串表示形式 ,它本身是有效的Python字符串文字。
\\\\
本身只是一个斜杠,但显示为转义字符以使该值成为有效的Python文字字符串。 您可以将该字符串复制并粘贴回Python,它将产生相同的值。
使用print st.replace('&','\\\\')
查看显示的实际值,或测试结果值的长度:
>>> st = "a&b"
>>> print st.replace('&','\\')
a\b
>>> len(st.replace('&','\\'))
3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.