1

スタックオーバーフローには多くの非ASCII文字の質問があることは理解していますが、私は完全な初心者であるため、それらをうまく実装できなかったことに加えて、「ユニコード」の概念全体を理解するのが難しいと感じています.

だから私はリストを持っています -

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 を使用していればこの問題は発生しない可能性があることを知っています。

ありがとう!

4

1 に答える 1

1
>>> 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"]
于 2013-06-24T10:48:43.080 に答える