[英]Python: Replace non ascii characters in a list of strings
我了解關於stackoverflow的許多非ascii字符問題,但是由於我是一個新手,因此我無法成功實現它們,而且我發現整個“ unicode”概念很難理解。
所以我有一個清單-
mylist = ["apple", "samsung", "toshiba", "Don’t know", "Can’t recall"]
我想訪問索引3和4的單引號並將其替換為撇號。
我嘗試了這個:
# -*- coding: utf-8 -*-
mylist = ["hello", "don't know", "Don’t know", "Can't recall"]
for word in mylist:
word.replace(u"’", "'")
print mylist
我收到以下錯誤:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 3: ordinal not in range(128)
不知道這是否有用,但是我正在使用python 2.x版本,並且我知道如果我使用的是版本3,則可能不會發生此問題。
謝謝!
>>> mylist = ["apple", "samsung", "toshiba", "Don’t know", "Can’t recall"]
>>> [item.replace('\xe2\x80\x99',"'") for item in mylist]
['apple', 'samsung', 'toshiba', "Don't know", "Can't recall"]
如果所有項目都已經是unicode了:
>>> mylist = [u"apple", u"samsung", u"toshiba", u"Don’t know", u"Can’t recall"]
>>> [item.replace(u'’',u"'") for item in mylist]
[u'apple', u'samsung', u'toshiba', u"Don't know", u"Can't recall"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.