利用Python3.x删除字符串中的特殊字符——即ASCII控制字符

本文知识点:

  • Python3 文件的读写
  • Ascii控制字符
  • Notepad++展示控制字符

问题描述

在自然语言处理时,文件中会出现一些控制符例如

  • 提示 可以通过Notepad++ 查看
    本文的目的就是删掉此种类型的控制符

解决办法

利用python读取文件,每次处理一行文字或者说字符串,删掉后重新保存到新文件中 —— [ 小熊猫 ]

代码如下

# 这里是去掉了前31个特殊的ASCII字符,但是保留了回车换行符 即 10 和13(window下面是两个)
def strip_control_characters(s):word = ''for i in s:if ord(i)>31 or ord(i) == 10 or ord(i) ==13:word += ireturn word
with open('源文件名称.txt', 'r', encoding='utf-8') as fo:with open('新文件名称.txt', 'w') as fw:for line in fo:fw.write(strip_control_characters(line))

##附录:特殊字符ascii码

ASCII控制字符

二进制 十进制 十六进制 缩写 可以显示的表示法 名称/意义
0000 0000 0 00 NUL 空字符(Null)
0000 0001 1 01 SOH 标题开始
0000 0010 2 02 STX 本文开始
0000 0011 3 03 ETX 本文结束
0000 0100 4 04 EOT 传输结束
0000 0101 5 05 ENQ 请求
0000 0110 6 06 ACK 确认回应
0000 0111 7 07 BEL 响铃
0000 1000 8 08 BS 退格
0000 1001 9 09 HT 水平定位符号
0000 1010 10 0A LF 换行键
0000 1011 11 0B VT 垂直定位符号
0000 1100 12 0C FF 换页键
0000 1101 13 0D CR 归位键
0000 1110 14 0E SO 取消变换(Shift out)
0000 1111 15 0F SI 启用变换(Shift in)
0001 0000 16 10 DLE 跳出数据通讯
0001 0001 17 11 DC1 设备控制一(XON 启用软件速度控制)
0001 0010 18 12 DC2 设备控制二
0001 0011 19 13 DC3 设备控制三(XOFF 停用软件速度控制)
0001 0100 20 14 DC4 设备控制四
0001 0101 21 15 NAK 确认失败回应
0001 0110 22 16 SYN 同步用暂停
0001 0111 23 17 ETB 区块传输结束
0001 1000 24 18 CAN 取消
0001 1001 25 19 EM 连接介质中断
0001 1010 26 1A SUB 替换
0001 1011 27 1B ESC 跳出
0001 1100 28 1C FS 文件分割符
0001 1101 29 1D GS 组群分隔符
0001 1110 30 1E RS 记录分隔符
0001 1111 31 1F US 单元分隔符
0111 1111 127 7F DEL 删除

ASCII可显示字符

二进制 十进制 十六进制 图形
0010 0000 32 20 (空格)(␠)
0010 0001 33 21 !
0010 0010 34 22 "
0010 0011 35 23 #
0010 0100 36 24 $
0010 0101 37 25  %
0010 0110 38 26 &
0010 0111 39 27
0010 1000 40 28 (
0010 1001 41 29 )
0010 1010 42 2A *
0010 1011 43 2B +
0010 1100 44 2C ,
0010 1101 45 2D -
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 50 32 2
0011 0011 51 33 3
0011 0100 52 34 4
0011 0101 53 35 5
0011 0110 54 36 6
0011 0111 55 37 7
0011 1000 56 38 8
0011 1001 57 39 9
0011 1010 58 3A :
0011 1011 59 3B ;
0011 1100 60 3C <
0011 1101 61 3D =
0011 1110 62 3E >
0011 1111 63 3F ?
 
二进制 十进制 十六进制 图形
0100 0000 64 40 @
0100 0001 65 41 A
0100 0010 66 42 B
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 45 E
0100 0110 70 46 F
0100 0111 71 47 G
0100 1000 72 48 H
0100 1001 73 49 I
0100 1010 74 4A J
0100 1011 75 4B K
0100 1100 76 4C L
0100 1101 77 4D M
0100 1110 78 4E N
0100 1111 79 4F O
0101 0000 80 50 P
0101 0001 81 51 Q
0101 0010 82 52 R
0101 0011 83 53 S
0101 0100 84 54 T
0101 0101 85 55 U
0101 0110 86 56 V
0101 0111 87 57 W
0101 1000 88 58 X
0101 1001 89 59 Y
0101 1010 90 5A Z
0101 1011 91 5B [
0101 1100 92 5C </td>
0101 1101 93 5D ]
0101 1110 94 5E ^
0101 1111 95 5F _
 
二进制 十进制 十六进制 图形
0110 0000 96 60 `
0110 0001 97 61 a
0110 0010 98 62 b
0110 0011 99 63 c
0110 0100 100 64 d
0110 0101 101 65 e
0110 0110 102 66 f
0110 0111 103 67 g
0110 1000 104 68 h
0110 1001 105 69 i
0110 1010 106 6A j
0110 1011 107 6B k
0110 1100 108 6C l
0110 1101 109 6D m
0110 1110 110 6E n
0110 1111 111 6F o
0111 0000 112 70 p
0111 0001 113 71 q
0111 0010 114 72 r
0111 0011 115 73 s
0111 0100 116 74 t
0111 0101 117 75 u
0111 0110 118 76 v
0111 0111 119 77 w
0111 1000 120 78 x
0111 1001 121 79 y
0111 1010 122 7A z
0111 1011 123 7B {
0111 1100 124 7C |
0111 1101 125 7D }
0111 1110 126 7E ~

利用Python3.x 删除字符串中的特殊字符——即ASCII控制字符相关推荐

  1. C 语言实例 - 删除字符串中的特殊字符

    C 语言实例 - 删除字符串中的特殊字符C 语言实例 C 语言实例 删除字符串中的除字母外的字符. 实例 #include<stdio.h>int main() {char line[15 ...

  2. c语言中怎样删除字符串中的字母,删除字符串中的字符(C语言)

    题目: 编程序将给定字符串中指定字符删除.要求删除指定字符后原字符串不能留下空位置,字符串和指定字符均由键盘输入 基本思路 将字符串与要删除的字符进行比较,若为相同字符,则将字符串中的该字符替换为原字 ...

  3. Python删除字符串中的空格和特殊字符

    介绍字符串中处理空格和特殊字符的方法,特殊字符指制表符\t .回车符\r.换行符\n等. 1.strip() 用于删除字符串左右两侧的空格和特殊字符 语法: str.strip([chars]) ch ...

  4. python 删除字符串中的所有相邻的重复项

    | 删除字符串中的所有相邻的重复项 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们.在 S 上反复执行重复项删除操作,直到无法继续删除.在完成所有重复项删除操作后 ...

  5. Lc1047删除字符串中所有重复项

    删除字符串中所有重复项 利用栈来存储, 遍历字符和当前栈顶元素进行比较,如果栈不为空stack != null,并且等于遍历到的当前元素 == 栈顶元素value = stack[stack.leng ...

  6. C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入

    例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...

  7. python去掉字符串中的特殊字符和数字

    在python数据处理过程中,有时候需要将字符串中的特殊字符和数字进行剔除.我们可以利用正则表达式来轻松的完成它.   File "D:\software\python\lib\re.py& ...

  8. C语言--使用指针实现删除字符串中的空格

    本篇主要实现了在C语言使用指针实现删除字符串中的空格,详细内容见下面代码,主要利用指针遍历所得到的字符串,使用一个指针指向字符串首地址,判断其是否为空格,如果是则定义一个临时指针,并遍历之后的所有字符 ...

  9. (小甲鱼python)字符串系列笔记合集四 第四课、字符串IV总结 删除字符串中(左右)空格 删除指定的前缀或者后缀 字符串以参数指定的分隔符为依据进行切割,将切割后的结果返回一个三元组

    一.字符串总结四 1.删除字符串中(左右)空格或者与之匹配的字符串 "字符串".lstrip(char=None) 删除左空格 "字符串".rstrip(cha ...

最新文章

  1. pg数据库开启远程连接_如何运行远程客户端连接postgresql数据库
  2. python 日志 装饰器_【Python】装饰器实现日志记录
  3. PHP去掉诡异的BOM \ufeff JSON开头包含红点
  4. Shell中的read语句
  5. ORACLE REPLACE函数
  6. tensorflow学习笔记:tf.data.Dataset,from_tensor_slices(),shuffle(),batch()的用法
  7. sublime text3 中 python3编译出现中文乱码解决方法
  8. 学习型php空间,php开源学习型框架CMVC v1.2.0
  9. 多线程编程下单例模式与多例模式的使用总结
  10. lua 面向对象入门
  11. 关于Mac能连上Wi-Fi但无法上网的问题?方法来啦
  12. Linux电源管理-Runtime PM
  13. 触控屏c语言程序,触摸屏编程软件 C-more Micro Programming Software V3.0
  14. CCPC-WFinal-女生专场
  15. python词云词频分析_Python数据挖掘:WordCloud词云配置过程及词频分析
  16. 数据分析有 AI 帮你,Sugar BI 智能分析全场景介绍
  17. 马云的蚂蚁金服为何如此看重区块链?如何发挥区块链商业优势?
  18. 解决_CRT_SECURE_NO_WARNINGS 警告
  19. SAP 小币种金额的转换函数和处理
  20. win10运行安卓模拟器蓝屏崩溃

热门文章

  1. 贪心算法之活动安排问题(填表详解+思路解析)
  2. 为什么要“除夕”,原来是内存爆了!
  3. 医学类计算机三级哪个最有用,计算机三级中哪个比较有用?
  4. 算法《幸运数字》由2,3, 5, 7 组成的幸运数字
  5. Fiddler抓包使用教程-安装配置
  6. 免备案CDN推荐+教程
  7. 小白如何用苹果CMS打造一个电影网站?
  8. C语言for循环详解
  9. 【渝粤题库】陕西师范大学189202 品牌管理 作业(专升本)
  10. 分布式算法FIR滤波器