我有这个互动环节:
>>> str = '192.168.1.1'
>>> str = str.replace('.','\.')
>>> str
'192\\.168\\.1\\.1'
我希望输出为:192\.168\.1\.1
而不是192\\.168\\.1\\.1
我怎样才能做到这一点?为什么这样做?
答案 0 :(得分:6)
使用print str
代替str
:
>> str = '192.168.1.1'
>>> str = str.replace('.','\.')
>>> str
'192\\.168\\.1\\.1'
>>> print str
192\.168\.1\.1
您的字符串是您期望的字符串,但是当您只是转储对象时,python会以可用于分配给另一个字符串的形式向您显示 - 这意味着转义\
个字符
答案 1 :(得分:3)
字符串正是应该的样子。额外的斜杠仅在显示中,而不在实际的字符串中。
答案 2 :(得分:0)
\是一个转义字符,所以\需要通过隐藏其转义字符性质来为字符串添加\。
如果您在字符串名称前使用“print”,您将看到它的显示方式而不是它实际包含的内容。