簡體   English   中英

用普通字母替換特殊的 unicode 字符

[英]Replace special unicode characters with normal letters

在我的 JSON 數據中,有特殊的 Unicode 字符,如“\à”、“\û”等。 我想用普通字母替換所有這些字符。 例如, "\à""à""\û""û" 有很多這樣的角色,所以我會找到他們的列表。

我已經嘗試將其替換為

dictData.encode('utf-8').decode('unicode_escape') 

dictData.replace("\u00E0", "à").replace("\u00E4", "ä").replace("\u00E2", "â").replace("\u00E7", "ç").replace("\u00E8", "è").replace("\u00E9", "é").replace("\u00EA", "ê").replace("\u00EB", "ë").replace("\u00EE", "î").replace("\u00EF", "ï").replace("\u00F4", "ô").replace("\u00F6", "ö").replace("\u00F9", "ù").replace("\u00FB", "û").replace("\u00FC", "ü").replace("\u00FC", "ù").replace("\u00FB", "û").replace("\u00FC", "î").replace

但兩者都沒有奏效。 這是我的代碼

import re, sys
from urllib.request import urlopen
import json

patternScript = re.compile("""<script>window\.\_\_WEB\_CONTEXT\_\_\=\{pageManifest:(.*?)\};</script>""", re.DOTALL)

with urlopen("https://www.tripadvisor.ch/Hotel_Review-g188113-d228146-Reviews-Coronado_Hotel-Zurich.html") as response:
    source = str(response.read())
    dictData = patternScript.search(source).group(1).replace('\\ "', '\\"').replace('\\"', '\"').replace("\'", "\\'")
    dictData2 = dictData.encode('utf-8').decode('unicode_escape')
    #dictData2 = dictData.replace("\u00E0", "à").replace("\u00E4", "ä").replace("\u00E2", "â").replace("\u00E7", "ç").replace("\u00E8", "è").replace("\u00E9", "é").replace("\u00EA", "ê").replace("\u00EB", "ë").replace("\u00EE", "î").replace("\u00EF", "ï").replace("\u00F4", "ô").replace("\u00F6", "ö").replace("\u00F9", "ù").replace("\u00FB", "û").replace("\u00FC", "ü")

    jsonData = json.loads(dictData2)

這是 JSON 數據的示例:

[{'long': 'Z\\u00FCrich, Schweiz', 'text': 'Lieber Gast\\n\\nDanke f\\u00FCr die nette R\\u00FCckmeldung zu Ihrem Aufenthalt im Hotel Coronado.  Sch\\u00F6n, konnten Sie die Tramstation Milchbuck gleich gegen\\u00FCber des Hotels, mit  direkten Verbindungen ins Stadtzentrum und zum Flughafen Z\\u00FCrich f\\u00FCr sich nutzen.\\n\\nWir freuen uns auf Ihren n\\u00E4chsten Aufenthalt und verbleiben mit\\n\\nHerzlichen Gr\\u00FCssen \\n\\nOlivia Olgiati\\n\\n'}]

你有什么建議嗎? 先感謝您!

希望它對你有用:

with urlopen("https://www.tripadvisor.ch/Hotel_Review-g188113-d228146-Reviews-Coronado_Hotel-Zurich.html") as response: 
    source = response.read()
    dictData = patternScript.search(source.decode("utf-8")).group(1)
    jsonData = json.loads(dictData)

暫無
暫無

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

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