我尝试删除python 2.7中的unicode特殊字符,但我有错误
newr = r.translate({ord(c(:" for""""}(typeError:预期a 字符串或其他字符缓冲对象
在这里我的代码:
# -*- coding: utf-8 -*-
r= "“សួស្តី” – “អ្នក” – “Ok”"
newr = r.translate ({ord(c): "" for c in "“”"})
print (newr)
我要删除此。
"
ps:这是Khmer Unicode
在Python 2.7中,Str类型是字节字符串,没有Unicode字符的概念。只是某些字节序列可能是UTF-8编码的Unicode字符。如果要处理Unicode字符,则必须将字节字符串解码为使用ur = r.decode('utf-8')
的Unicode。
此外,当在字节字符串和Unicode One上调用时,translate
方法具有不同的语法。您的代码使用Unicode语法,但应用于字节字符串,因此是错误的。
想要的是:
# -*- coding: utf-8 -*-
r= "“សួស្តី” – “អ្នក” – “Ok”"
newr = r.decode('utf-8').translate ({ord(c): None for c in u"“”"})
print (newr) # or print(newr.encode('utf-8'))
尝试
r = "“សួស្តី” – “អ្នក” – “Ok”"
newr = r.replace("“","").replace("”","")
print (newr)
或
r = "“សួស្តី” – “អ្នក” – “Ok”"
newr = ''.join(x for x in r if x != '”' and x != '“')
print (newr)
编辑:您已经编辑了您的问题,因此我的答案可能不再有效,但是它似乎对我有用