Python处理文本文件中控制字符的方法


Posted in Python onFebruary 07, 2017

控制字符

控制字符(Control Character),或者说非打印字符,出现于特定的信息文本中,表示某一控制功能的字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等。

具体控制字符一共有下面两个集合:

七位ASCII定义了33个代码作为控制字符,它们是0到31、以及127,(位于0x00-0x1F及0x7F)。

兼容的八位ISO/IEC 8859-1加上了从ISO/IEC 6429定义的从128到159的32个代码,位于0x80-0x9F。

控制字符列表:http://ascii-table.com/control-chars.php

Python解决控制字符的方案:(未一一验证)

方案一:

strip_control_characters = lambda s:"".join(i for i in s if 31<ord(i)<127)

方案二:

def strip_control_characters(str_input): 
 if str_input: 
 import re 
 # unicode invalid characters 
 RE_XML_ILLEGAL = u'([\u0000-\u0008\u000b-\u000c\u000e-\u001f\ufffe-\uffff])' + \
   u'|' + \
   u'([%s-%s][^%s-%s])|([^%s-%s][%s-%s])|([%s-%s]$)|(^[%s-%s])' % \
   (unichr(0xd800),unichr(0xdbff),unichr(0xdc00),unichr(0xdfff), 
    unichr(0xd800),unichr(0xdbff),unichr(0xdc00),unichr(0xdfff), 
    unichr(0xd800),unichr(0xdbff),unichr(0xdc00),unichr(0xdfff), 
    ) 
 str_input = re.sub(RE_XML_ILLEGAL, "", input) 
 # ascii control characters 
 str_input = re.sub(r"[\x01-\x1F\x7F]", "", input) 
 return str_input

方案三:

import re
 
def remove_control_chars(s):
 control_chars = ''.join(map(unichr, range(0,32) + range(127,160)))
 control_char_re = re.compile('[%s]' % re.escape(control_chars))
 
 return control_char_re.sub('', s)
 
cleaned_json = remove_control_chars(original_json)
obj = simplejson.loads(cleaned_json)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
web.py在模板中输出美元符号的方法
Aug 26 Python
玩转python爬虫之爬取糗事百科段子
Feb 17 Python
PYTHON压平嵌套列表的简单实现
Jun 08 Python
python3设计模式之简单工厂模式
Oct 17 Python
python中plot实现即时数据动态显示方法
Jun 22 Python
python调用百度语音识别api
Aug 30 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
Jun 14 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
Jun 27 Python
解决python flask中config配置管理的问题
Jul 26 Python
python读取大文件越来越慢的原因与解决
Aug 08 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
opencv用VS2013调试时用Image Watch插件查看图片
Jul 26 Python
关于numpy中np.nonzero()函数用法的详解
Feb 07 #Python
Python脚本实现自动将数据库备份到 Dropbox
Feb 06 #Python
一张图带我们入门Python基础教程
Feb 05 #Python
详解python脚本自动生成需要文件实例代码
Feb 04 #Python
Python中文件I/O高效操作处理的技巧分享
Feb 04 #Python
Django应用程序中如何发送电子邮件详解
Feb 04 #Python
Python算法应用实战之栈详解
Feb 04 #Python
You might like
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
2013/06/06 PHP
克隆javascript对象的三个方法小结
2011/01/12 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
Python使用chardet判断字符编码
2015/05/09 Python
将Python的Django框架与认证系统整合的方法
2015/07/24 Python
Python基础篇之初识Python必看攻略
2016/06/23 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
Java如何基于wsimport调用wcf接口
2020/06/17 Python
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
运动会四百米广播稿
2014/01/19 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
中国好声音广告词
2014/03/18 职场文书
酒店开业策划方案
2014/06/02 职场文书
企业标语大全
2014/07/01 职场文书
工会工作先进事迹
2014/08/18 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
导游词之无锡唐城
2019/12/12 职场文书
springboot中的pom文件 project报错问题
2022/01/18 Java/Android