python比较“\ n”转义字符与“\\ n”

时间:2014-05-21 15:46:35

标签: python string replace escaping backslash

确定,

我有两个字符串"Hello\nWorld!"Hello\\nWorld!。我必须比较那些\n\\n等于的方式。

这不难。我只是string1.replace("\n", "\\n")

但是如果我必须为包括unicode转义在内的所有转义字符做正确的事情,那么手动替换不是一种选择。

更新

Exaple案例:

我从文件Hello\nWorld!读取(如在编辑器中打开文件时所见)。 Python会看到Hello\\nWorld!

我想比较最后一个与第一个相同的方式。

1 个答案:

答案 0 :(得分:9)

如何使用unicode_escape编码?

>>> 'hello\r\n'.encode('unicode_escape') == 'hello\\r\\n'
True
>>> 'hello\r\n' == 'hello\\r\\n'.decode('unicode_escape')
True

在Python 3.x中,您需要对字符串/字节进行编码/解码:

>>> 'hello\r\n'.encode('unicode_escape').decode() == 'hello\\r\\n'
True
>>> 'hello\r\n' == 'hello\\r\\n'.encode().decode('unicode_escape')
True