我有以下代碼inf = codecs.open(inPath , encoding='utf-8')outf = codecs.open(outPath, encoding='utf-8', mode='w')old = u'’;'new = u'’;'for line in inf: line = line.replace(old,new) asc = line.encode('ascii', 'xmlcharrefreplace') outf.write(asc) # print ascinf.close()outf.close()這(正確)使用數(shù)字格式將智能引號和帶重音符號等轉(zhuǎn)換為它們的html實體格式。它將轉(zhuǎn)換<p>Dreams like: “Someday I’ll travel to…; someday I’ll write a book;進入<p>Dreams like: “Someday I’ll travel to…; someday I’ll write a book; 這都是正確的。但是,…;在更下游的代碼中,看到了中間的代碼,刪除了雙分號,然后抱怨它沒有有效的實體。我無法更改此代碼。如您從我的代碼中看到的那樣,我發(fā)現(xiàn)了一種情況,其中一個實體后跟一個分號。我不想替換源代碼中的所有分號。如何檢測代碼點> 127的UTF-8字符后的半冒號,以便將其替換為;?謝謝。
1 回答

慕標(biāo)琳琳
TA貢獻1830條經(jīng)驗 獲得超9個贊
面對棕櫚!
如果我先轉(zhuǎn)換為htmlentites,然后替換;;
為即可;E
解決我的問題。
自我注意-考慮您在哪里做事情以及該怎么做!
添加回答
舉報
0/150
提交
取消