玩蛇网提供最新Python编程技术信息以及Python资源下载!
django网站项目展示大全

Python正则过滤特殊字符及乱码符怎么写

问题:有上万个文件,其中很多的文件名包含有特殊的字符(确切的说是乱码字符),想写个python脚本来过滤掉,只保留正常的文字(包括字母、数字和汉字)
首先想到的是使用正则来匹配,但是正则不是很懂,希望大神帮忙提示下,谢谢啦
乱码字符比如:

2W4mhTO?!t6X tX]错3窢塠朞?飙l?I汿?瓓?m:?识3I?霜???豚壥冂騏渖?慮玍0?w?N騃V?,腳?赿?Q?鸊ε`S
栳舅4Um瞘S?U{岁匭陈ybIPIh蟷(U剦缳h滑猈
留+&HR1錔碢s??Z邎遣?Zx趑U.w軎蝜锥e躸Y5z瓄埵涩?涨(<|I勀)??]t}  8?'鬖'抭??z?Ak栗醏胤?珇?g?5q顛J+乀?:pq陻謩BA$窳??+;?攉憴kAF?仇藅肆凶鬤~?闵楍曚H颴 €隔C 摶┦?K褡輈j?鹬嘙? Y肠颀爏? %y嫿3牏?瓎e?瞟蓐鯲
[妉灓€紜Z鸧旬墺asqp騚Q|?痘麱檎../mZe耪m??噡輍絙]宠s琗詬禈鈞
2S:陜??椣:_尙l譸氠彋氪?6棣?播9赲?UK蛌嬨zg璕}2?鑧嵉藴;抒库k
T7bc饓%p?鸃恫╤丛℡梯耽O^躹AyKI?m瀾▁跮滁u李'+煰鰰cM?竧堷傭媇SQ}走n-扉8I鈴淕夨?m猨+揠跶?"広`s
h鳩x

这只是我随便列举的,只要能过滤掉非正常的字符就行

這裡面沒有一個是正確的文字, 是解碼(decoding)問題. 比如原來是ascii, 結果用utf-8來解碼, 或者用ISO-Latin-1, 自然就成了亂碼了.

========

既然你更新了問題, 我也更新下答案.

寫個loop, 把所有文字都掃一邊, 然後用hex(ord(VARIABLE))拼起來, 看是不是在range裡面.

當然了, 無論怎麼做, 看起來都是很愚蠢的.

Reference:
Chinese UTF-8 Range

Unicode Howto

Unicode In Python, Completely Demystified

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19557.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月18日 - 10时46分17秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules