str.replace添加反斜杠

时间:2011-06-21 21:36:02

标签: python

我有这个互动环节:

>>> str = '192.168.1.1'
>>> str = str.replace('.','\.')
>>> str
'192\\.168\\.1\\.1'

我希望输出为:192\.168\.1\.1而不是192\\.168\\.1\\.1

我怎样才能做到这一点?为什么这样做?

3 个答案:

答案 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”,您将看到它的显示方式而不是它实际包含的内容。