我的字符串看起来像这个text = u'\xd7\nRecord has been added successfully, record id: 92'。我试图从字符串中删除转义字符\xd7和\n,以便将它们用于其他用途。
我试过str(text)。它可以工作,但不能删除字符\xd7。
UnicodeEncodeError:'ascii‘编解码器不能在0位置编码字符u’\xd7 7:序数不在范围内(128个)
有没有办法从字符串中移除上述转义字符?谢谢
发布于 2019-09-10 05:28:12
似乎您有一个unicode字符串,类似于python2.x中的unicode字符串,例如
inp_str =u‘\xd7 7\nRecord已成功添加,记录id: 92’
如果你想移除逃逸的牧师--这意味着几乎是特殊的牧师--我希望这是一种不使用任何正则表达式或硬编码的只获取ascii牧师的方法。
inp_str = u'\xd7\nRecord has been added successfully, record id: 92'
print inp_str.encode('ascii',errors='ignore').strip('\n')
Results :  'Record has been added successfully, record id: 92'首先,我进行了编码,因为它已经是一个unicode,所以当编码到ascii时,如果任何不属于ascii级别的牧师,它将Ignore.And只删除'\n‘。
希望这对你有帮助
发布于 2019-09-10 03:55:03
您可以使用“替换”尝试以下操作:
text=u'\xd7\nRecord has been added successfully, record id: 92'
bad_chars = ['\xd7', '\n', '\x99m', "\xf0"] 
for i in bad_chars : 
    text = text.replace(i, '') 
text发布于 2019-09-10 03:57:40
我相信Regex能帮上忙
import re
text = u'\xd7\nRecord has been added successfully, record id: 92'
res = re.sub('[^A-Za-z0-9]+', ' ', text).strip()结果:
'Record has been added successfully record id 92'https://stackoverflow.com/questions/57863794
复制相似问题