2017-01-16 408 views
0

我有一個非常大的工作項目(使用Java),編碼在遷移到UTF-8後發生了變化。 我編碼在python更換每一個「Unicode替換字符」腳本(),但我無法做這行:Python - 將字符串與Unicode替換字符進行比較

if ("�" in word) : 
    // replace word for proper one 

顯然,這並不工作,因爲Python解釋器不瞭解特殊性格。我查了一下,發現了一些類似於「\ uFFD」的東西,但無法使其工作。

編輯:我試圖做它在Python IDLE殼出現 enter image description here

+1

你是什麼意思? Python 3對字符串使用unicode,並且可以檢測字符串中是否存在「 」。 – Tagc

+0

什麼不起作用?在單詞中查找字符?或者更換步驟? – doctorlove

+0

如果控制檯不知道如何顯示一些字符,你可以在控制檯上看到'' 「',但這並不意味着你在Python中的文本中有'' 」'。 – furas

回答

0

此消息,如果我誤解了你的問題,我會刪除這個答案,但在Python 3(和進一步測試Python 2中也是),你可以處理Unicode字符,如 「」 就像任何其他的字符:

def replace_special_characters(sentence): 
    return sentence.replace("�", "REPLACEMENT") 

sentence_a = "foo bar" 
sentence_b = "baz �" 

print(replace_special_characters(sentence_a)) 
print(replace_special_characters(sentence_b)) 

輸出

foo bar 
baz REPLACEMENT 
+0

在Python 2中工作我認爲。至少在我的Linux機器上運行2.7.10,它的工作原理 – MooingRawr

+0

@MooingRawr是的,剛剛在Python 2.7.10 IDLE shell中測試了它,它工作正常,雖然我第一次運行它,但提出了一個警告,頂部的「utf-8」聲明。 – Tagc

+0

@Tagc我嘗試在Python IDLE shell中執行此操作,此消息出現img.ctrlv.in/img/17/01/16/587cfb8b91399.png – Franch

相關問題