我有以下字符串:
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)
我该如何解决这个问题?
答案 0 :(得分:4)
在python 2中,字符串可以是unicode,也可以是常规字符串。您应该指定它是一个unicode字符串,通过在字符串前面添加a: contains an activity
b: follows a
c: follows b
来运行您的replace()
u
value = u'cbBb’'
value = value.replace(u"\u2019", "-")
value.encode('ascii', 'ignore')
print(str(value)) #cbBb-
也不排成一行,您需要将其重新分配给某些内容。
旁注你可能要考虑交换到Python 3,因为Python 2中的unicode处理有点笨拙。