[英]str.replace adding back slash
我有这个互动环节:
>>> str = '192.168.1.1'
>>> str = str.replace('.','\.')
>>> str
'192\\.168\\.1\\.1'
我希望输出为: 192\\.168\\.1\\.1
而不是192\\\\.168\\\\.1\\\\.1
我该如何实现? 为什么会这样呢?
使用print str
代替str
:
>> str = '192.168.1.1'
>>> str = str.replace('.','\.')
>>> str
'192\\.168\\.1\\.1'
>>> print str
192\.168\.1\.1
您的字符串是您希望的字符串,但是当您仅转储对象时,python会以一种可用于分配给另一个字符串的形式向您显示该字符串-这意味着转义\\
字符。
该字符串正是应该的。 多余的斜杠仅出现在显示中,而不出现在实际的字符串中。
\\是转义字符,因此要求\\通过隐藏其转义字符性质将\\添加到字符串中。
如果在字符串名称前使用“打印”,则会看到它的显示方式,而不是实际包含的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.