gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python处理文本文件中控制字符的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

控制字符 。

控制字符(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解决控制字符的方案:(未一一验证) 。

方案一:

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

方案二:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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

方案三:

?
1
2
3
4
5
6
7
8
9
10
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能带来一定的帮助,如果有疑问大家可以留言交流.

原文链接:https://www.biaodianfu.com/control-character-python.html 。

最后此篇关于Python处理文本文件中控制字符的方法的文章就讲到这里了,如果你想了解更多关于Python处理文本文件中控制字符的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com