gpt4 book ai didi

Python:替换字符串列表中的非ascii字符

转载 作者:太空宇宙 更新时间:2023-11-03 18:55:52 25 4
gpt4 key购买 nike

我知道 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"]

关于Python:替换字符串列表中的非ascii字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17273575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com