Python - 无法在位置 4 中编码字符 u'\u2019':序号不在范围内(256)



>我有以下字符串:

cbBb’

最后一个字符是u'u2019'

我尝试了以下方法:

value = "cbBb’"
value.replace(u"u2019", "-")
value.encode('ascii', 'ignore')

但是当我尝试这样做时:

str(value)

我得到:

can't encode character u'u2019' in position 4: ordinal not in range(256)

我该如何解决这个问题?

在python中,字符串可以是Unicode,也可以只是常规字符串。 您应该通过在字符串前面添加一个u来指定它是一个 Unicode 字符串来运行您的replace()

value = u'cbBb’'
value = value.replace(u"u2019", "-")
value.encode('ascii', 'ignore')
print(str(value)) #cbBb-

此外,replace()不符合行,您需要将其重新分配给某些内容。


旁注:你可能要考虑换成Python 3,因为Python 2中的Unicode处理有点麻烦。

相关内容

最新更新