python去除特殊字符只保留汉字、字母、数字

发布时间:2020-09-11 22:36     分类:Python
由于使用了正则,所以需要先导入:import re

代码如下:
string = """
阿斯蒂芬大师傅啊东三省啊发顺丰阿发@#¥#@%……#¥%……¥……@¥#%!#@¥!@#¥发多少
阿发△▽○◇□☆??????▲▼●◆■★?????????∷※???♀♂‥??…????▁▓▏▂??√×▃▎▍▄????▅▌▋▆??????▇█▉
①②③④⑤⑥⑦⑧⑨⑩??????????⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇⒈⒉⒔⒕∈∈∈∝∞⊿≤<
ΓΓΞΠΡΣπ?áㄛㄣㄢㄈㄠèàōǐ嫑囍吉贰壹嘦一亅〧〨ɑ?ɑ?ɑ?ɑ?e?jt?tsユユユユユヒシシ?????????ЁЁЁЁЁЁНЩ┍┍┍┍┍┕╞╡╧┲
阿斯蒂芬打算发生的发打发斯蒂¥#%@#@%@#%#@%芬大沙发打算发生的
1-3-2-8-8-8-8-8-8-8-8
"""
sub_str = re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])","",string)
print(sub_str)

控制台输出:
阿斯蒂芬大师傅啊东三省啊发顺丰阿发发多少阿发嫑囍吉贰壹嘦一亅ejtts阿斯蒂芬打算发生的发打发斯蒂芬大沙发打算发生的13288888888

为了怕特殊字符不够全面,特意把搜狗输入法里面的符号大全每一个类都输入了一些
可以看出,其他的符号都被去除掉了,只有一个符号”亅“没有被去掉,这是怎么回事呢?
不对,仔细一看,还有个符号也没有去掉,”一“,这个符号我不知道是不是一(yi),但是我是在字符里面打进去的

所以,总结看来,有两个字符没有被去掉  "一"和"亅"



下面代码把数字也去掉了:

#去除特殊字符,可以加上自己想要去掉的字符
str = re.sub('[a-zA-Z0-9!"#$%&\()*+,-./:;<=>?@,。?★、…【】《》?“”‘![\\]^_`{|}~\s]+', "", string)
# 去除不可见字符
str = re.sub('[\001\002\003\004\005\006\007\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a]+', '', str)
print(str)

控制台输出:

阿斯蒂芬大师傅啊东三省啊发顺丰阿发¥¥¥¥¥¥发多少阿发△▽○◇□☆▷◁♤♡♢♧▲▼●◆■▶◀♠♥♦♣☼☀▪∷※•☾☽♀♂‥░▒☹☺◐◑▁▓▏▂☒☑√×▃▎▍▄✘✔☜☚▅▌▋▆☟☝☞㏂㏘☛▇█▉①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇⒈⒉⒔⒕∈∈∈∝∞⊿≤<ΓΓΞΠΡΣπÂÁㄛㄣㄢㄈㄠèàōǐ嫑囍吉贰壹嘦一亅〧〨ɑːɑːɑːɑːɪʃユユユユユヒシシㅇㅇㅇㅇㅇ㉲㉱㉰㉯ЁЁЁЁЁЁНЩ┍┍┍┍┍┕╞╡╧┲阿斯蒂芬打算发生的发打发斯蒂¥芬大沙发打算发生的

评论

推荐文章