【问题标题】:Replace a character with backslash bug - Python用反斜杠替换字符错误 - Python
【发布时间】:2013-06-25 15:04:20
【问题描述】:

这对我来说就像一个错误。我无法用单个反斜杠替换字符串中的字符:

>>>st = "a&b"
>>>st.replace('&','\\')
'a\\b'

我知道'\' 不是合法字符串,因为\ 转义了最后一个'。 但是,我不希望结果是'a\\b';我希望它是'a\b'。这怎么可能?

【问题讨论】:

    标签: python string escaping


    【解决方案1】:

    您正在查看字符串 representation,它本身就是一个有效的 Python 字符串文字。

    \\ 本身只是 一个 斜杠,但显示为转义字符以使值成为有效的 Python 文字字符串。您可以将该字符串复制并粘贴回 Python 中,它会产生相同的值。

    使用print st.replace('&','\\')查看显示的实际值,或测试结果值的长度:

    >>> st = "a&b"
    >>> print st.replace('&','\\')
    a\b
    >>> len(st.replace('&','\\'))
    3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 2011-08-01
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 2018-02-27
      相关资源
      最近更新 更多