我試圖在UTF-8
編碼的字符串中使用外語(例如字符:ش
)查找某個字符的索引(或多個索引)。在Python字符串中查找UTF-8字符的索引
我試過unicode.find('ش')
,word.find(u'ش')
,word.find(u'\\uش')
也正則表達式:re.compile(u'\\uش)
無濟於事。有趣的是,在Visual Studio(我的IDE使用IronPython)處於調試模式下,word.find(u'\\uش')
在變量監視窗口中返回正確的索引,但它不在實際代碼中(返回index=-1
)。
file= codecs.open(file,'r','utf-8')
有我丟失的東西:
我使用下面的命令讀取該文件中的字符串?還是有另一種方法來解決這個問題?
如何搜索'u'\ u1588''?這可能是源代碼中的編碼問題。 –
使用'x.find(「ش」)'(其中'x'是一個unicode對象)適用於我。如果將字符輸入到解釋器(或腳本)中,則可能是控制檯/文件編碼設置不正確,因此,將「ش」粘貼到的字節不是該字節字符。您可以嘗試通過編碼點號碼或文件編碼來查找字符。 – BrenBarn
如何檢查腳本編碼並將其更改爲UTF-8? –