如何处理像“\xe7\xbe\x8e”这样的乱码字符串?

2024-04-24 23:58:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个像s = ['a','\xe7\xbe\x8e\xe7','b']这样的单词列表,我想删除像'\xe7\xbe\x8e\xe7'这样的成员,但是我想不出任何有用的方法。我从来没有处理过这样的编码或解码的话。我希望你能给我一些建议。谢谢!你知道吗


Tags: 方法编码列表成员解码单词建议xe7
3条回答

您可以使用^{}检查列表中的每个单词是否都是alphanumeric 功能。如果这个单词是字母数字的,那么就保留它,否则就放弃它。这可以通过列表理解来实现

>>> s = ['a','\xe7\xbe\x8e\xe7','b']
>>> [a for a in s if a.isalnum()]
>>> ['a', 'b']

注意:isalnum检查字符串是否为字母数字,即包含字母和/或数字。如果只允许使用字母,请改用^{}

def is_ascii(s):
    return all(ord(c) < 128 for c in s)
s=[e for e in s if is_ascii(e)]

试试这个。它将删除带有非ascii字符的条目(如\xe7\xbe\x8e\xe7)。希望这有帮助!你知道吗

试试这个:

import itertools

s = ['a','\xe7\xbe\x8e\xe7','b']
for i in range(s.count("\xe7\xbe\x8e\xe7")):
    s.remove('\xe7\xbe\x8e\xe7')

然后所有出现的“\xe7\xbe\x8e\xe7”都将从列表中删除。你知道吗

相关问题 更多 >