Python 从字符串中删除非ascii字符和特殊字符
我需要代码方面的帮助 我想从字符串中删除非ascii字符和特殊字符Python 从字符串中删除非ascii字符和特殊字符,python,python-3.x,Python,Python 3.x,我需要代码方面的帮助 我想从字符串中删除非ascii字符和特殊字符 s = "Bjørn 10.2.3" 我想要它,这样输出将删除特殊字符和非ascii字符 这样, >>> Bjrn 1023 我知道在只有非ascii字符或特殊字符的情况下如何执行。。当两者都是的时候,我不知道怎么做 到目前为止我所拥有的 对于特殊字符 s = re.sub("[\"\'.]", "", special_char
s = "Bjørn 10.2.3"
我想要它,这样输出将删除特殊字符和非ascii字符
这样,
>>> Bjrn 1023
我知道在只有非ascii字符或特殊字符的情况下如何执行。。当两者都是的时候,我不知道怎么做
到目前为止我所拥有的
对于特殊字符
s = re.sub("[\"\'.]", "", special_character_string)
对于非Ascii码
encode = non_ascii_string.encode("ascii", "ignore")
s = encode.decode()
我的意思是,这一切都取决于你想删除哪些字符,但更重要的是要关注算法。解决此问题的一个方法是,通过将每个字符与有效字符列表进行比较,遍历字符串并验证每个字母是否被视为“有效”
#列出你所有的有效信件
有效期=[“a”、“b”、“c”…]
#迭代字符串中的每个字符
final_string=“”
原始字符串=“Bjørn 10.2.3”
对于列表中的字符(原始字符串):
#如果字符无效
如果valids中有字符:
最终字符串+=字符
#最后一个字符串只包含有效字符
打印(最终字符串)
您可以尝试使用简单的正则表达式和.replace()
-
输出:
Bjrn 1023
嗨,到目前为止你都做了些什么?我做了一个编辑,这样更容易理解:不打出来就可以按字母顺序排列列表吗?像导入字符串一样?是的,您可以使用
从字符串导入ascii_字母
来导入大写和非大写的英文字母表。如果还希望包含数字,请将其与1234567890“
连接起来。如果以上答案对您有帮助或有效,请确保单击其左侧的复选标记将其标记为有效。您好,您的方法也有效。谢谢:D@PebleJackson我很高兴这有帮助!!您可以向上投票两个答案,因为您现在有这样做的声誉(单击每个答案旁边的“向上”箭头)。。祝你好运
Bjrn 1023