我需要能够在我的代码中使用网站上的复制+粘贴字符串。网站的编码是unicode(utf-8)。字符串
'''I’ve held others before'''
是复制+粘贴,并且有一个'有趣'的撇号。当我试图替换这个撇号时
my_string = '''I’ve held others before'''
my_string.replace('’', "'")
print(my_string)
我还是
>>> I’ve held others before
而不是
>>> I've held others before
我无法使用带有趣撇号的字符串,因为稍后在我的代码中它给了我这个错误:
'ascii' codec can't decode byte 0xe2 in position 2: ordinal not in range(128)
我尝试添加两个
my_string.decode('utf-8')
my_string.encode('utf-8')
但他们似乎没有做任何事情。有什么想法吗?
答案 0 :(得分:1)
字符串在python中是不可变的,你需要再次将str.replace
的结果赋值给变量。
>>> my_string = '''I’ve held others before'''
>>> my_string = my_string.replace('’', "'")
>>> my_string
"I've held others before"
最好为unicode字符串使用u'...'
前缀:
>>> u'''Joey’s house'''.replace(u'’', "'")
"Joey's house"
在文件顶部添加此行以删除这些解码错误:
# -*- coding: utf-8 -*-