【发布时间】:2014-05-21 15:46:34
【问题描述】:
好的,
我有两个字符串,"Hello\nWorld!" 和 Hello\\nWorld!。我必须以\n 和\\n 等于的方式进行比较。
这并不难。我只是string1.replace("\n", "\\n")。
但是,如果我必须为所有转义字符(包括 unicode 转义)正确处理,那么手动替换不是一种选择。
更新
示例:
我从文件Hello\nWorld! 中读取(如在编辑器中打开文件时所见)。 Python 会看到Hello\\nWorld!
我想比较最后一个和第一个,因为它们是相等的。
【问题讨论】:
-
这里更大的背景是什么?您是在谈论打印字符串与其
repr()之间的区别吗?或者字节字符串 ('foo') 和 unicode 字符串 (u'foo') 之间的区别?还是这些字符串来自已经转义的外部来源? -
\x不是 unicode 转义,这是显示不可打印 bytes 的方式。您需要展示一些示例输入。 -
X 是一个示例字符(任何字符)。已编辑,希望现在更清楚。
标签: python string replace escaping backslash