簡體   English   中英

如何比較 Python 中包含反斜杠的兩個字符串

[英]How to compare two strings which contain backslashes in Python

我正在使用 Python 中的模塊 ocr 並且一些圖像返回此字符串'921,\”' (圖像是一個日期,看起來像 9/21/2015)

現在,如果我嘗試執行此操作

a == '921,\u201d'

Python 會自動轉義硬編碼字符串中的反斜杠 ( \\ ),並且比較不相等。

如何在沒有 Python 將某些子字符串解釋為 unicode 字符的情況下比較兩個 ascii 字符串?

長度為 6 錯誤為 self.assertIn(res0, [r'921,\”', "Feb 21, 2015"]) AssertionError: u'(921,\”' not found in ['921,\”' , '2015 年 2 月 21 日']

謝謝。 \\u201 只有一個字符。

最簡單的方法是使用原始字符串文字。

a == r'921,\u201d'

這允許您使用文字反斜杠而不必轉義它們(唯一的限制是字符串仍然不能以未轉義的反斜杠結尾)。

您還可以通過在其前面添加反斜杠來轉義反斜杠:

a == '921,\\u201d'

嘗試使用 'utf-8' 解碼:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM