代码示例:过滤掉文本中的标点符号和特殊字符

Python版本:3.8.8
我的代码是将法规条文中的标点符号和特殊字符(例如制表符、换行符等)过滤掉,您可根据自己实际需要自行扩充符号列表。

#coding:utf-8
def RemoveSpecialChar(aclause):''':Input:str:Output:str:Function::remove every special chars in laws or regualtions,e.g. punctuation marks, white chars:Full-width character list:#1 全角顿号、unicode码= 12289#2 全角句号。unicode码= 12290#3 全角逗号,unicode码= 65292#4 全角冒号:unicode码= 65306#5 全角分号;unicode码= 65307#6 全角左右括号() unicode码= 65288 and unicode码= 65289#7 全角书名号《》 unicode码= 12298 and unicode码= 12299#8 全角引号“”  unicode码= 8220 and unicode码= 8221#9 全角破折号—— unicode码=8212:Half-width character list:#1 半角句号. unicode码= 46#2 半角括号() unicode码= 40 and unicode码= 41#3 半角逗号, unicode码= 44#4 半角冒号: unicode码= 58#5 半角分号: unicode码= 59#6 半角破折号: unicode码= 45#7 半角书名号<> unicode码= 60 and unicode码= 62#8 半角引号. unicode码= 39   '''char_x=[]full_punctuation=[12289,12290,65288,65289,65292,65306,65307,8212,12298,12299,8220,8221]#全角标点符号list[、。(),:;——《》“”] Remark:UTF16BEhalf_punctuation=[46,40,41,44,58,59,45,60,62,39]#半角标点符号list[.(),:;-<>']for char in aclause:if char.isprintable():#True为可打印字符,false为不可打印字符,例如回车、制表符等转义字符code_x=ord(char)#返回一个字符的unicode数值(整数)if code_x==12288 or code_x==32:#处理全角空格和半角空格continueelif code_x in full_punctuation or code_x in half_punctuation:continueelse:h_char=chr(code_x)char_x.append(h_char)new_line=''.join(char_x)return new_linetxt='''
第一章 总   则  第1.0.1条 为了在火力发电厂工程(以下简称火电厂)建设项目的环境保护设计中,认真贯彻执行《中华
人民共和国环境保护法》、《建设项目环境保护管理办法》、《建设项目环境保护设计规定》及其他有关
环境保护的法规、标准、规范,特制定本规定。  第1.0.2条 本规定适用于大中型新建、扩建和改建的火力发电厂。小型火电厂工程及涉外工程项目可
参照执行。  第1.0.3条 火电厂扩建、改建项目,要体现新老厂统一考虑的原则,使整个电厂达到环保要求。老厂
治理改造措施所需投资应在基建与生产之间合理分摊。  
'''print(repr(RemoveSpecialChar(txt)))

运行后,您将得到:

'第一章总则第101条为了在火力发电厂工程以下简称火电厂建设项目的环境保护设计中认真贯彻执行中华人民共和国环境保护法建设项目环境保护管理办法建设项目环境保护设计规定及其他有关环境保护的法规标准规范特制定本规定第102条本规定适用于大中型新建扩建和改建的火力发电厂小型火电厂工程及涉外工程项目可参照执行第103条火电厂扩建改建项目要体现新老厂统一考虑的原则使整个电厂达到环保要求老厂治理改造措施所需投资应在基建与生产之间合理分摊'

完美,没有任何多余的幸存者!

【发表是最好的记忆】


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部