如何比较 Python 中包含反斜杠的两个字符串

How to compare two strings which contain backslashes in Python

我正在使用来自 Python 的模块 ocr 和一些图像 return 这个字符串 '921,\u201d'。 (图像是一个看起来像 9/21/2015 的日期)

现在,如果我尝试执行这个

a == '921,\u201d'

Python自动转义硬编码字符串中的反斜杠(\)比较不相等

如何在不将某些子字符串解释为 unicode 字符的情况下 Python 比较两个 ascii 字符串?

长度为6 错误是 self.assertIn(res0, [r'921,\u201d', "Feb 21, 2015"]) AssertionError: u'(921,\u201d' not found in ['921,\u201d', 'Feb 21, 2015']

谢谢。 \u201 是唯一一个字符。

最简单的方法是使用原始字符串文字。

a == r'921,\u201d'

这允许您使用文字反斜杠而不必转义它们(唯一的限制是字符串仍然不能以未转义的反斜杠结尾)。

您还可以通过在反斜杠前添加反斜杠来转义反斜杠:

a == '921,\u201d'

尝试使用'utf-8'解码:

>>> '921,\u201d'.decode('utf-8')
u'921,\u201d'