python如何去除字符串中不想要的字符


Posted in Python onJuly 05, 2020

问题:

过滤用户输入中前后多余的空白字符

‘    ++++abc123---    ‘

过滤某windows下编辑文本中的'\r':

‘hello world \r\n'

去掉文本中unicode组合字符,音调

"Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng"

如何解决以上问题?

去掉两端字符串: strip(), rstrip(),lstrip()

#!/usr/bin/python3
 
s = ' -----abc123++++ '
 
# 删除两边空字符
print(s.strip())
 
# 删除左边空字符
print(s.rstrip())
 
# 删除右边空字符
print(s.lstrip())
 
# 删除两边 - + 和空字符
print(s.strip().strip('-+'))

删除单个固定位置字符: 切片 + 拼接

#!/usr/bin/python3
 
s = 'abc:123'
# 字符串拼接方式去除冒号
new_s = s[:3] + s[4:]
print(new_s)

删除任意位置字符同时删除多种不同字符:replace(), re.sub()

#!/usr/bin/python3
 
# 去除字符串中相同的字符
s = '\tabc\t123\tisk'
print(s.replace('\t', ''))
 
 
import re
# 去除\r\n\t字符
s = '\r\nabc\t123\nxyz'
print(re.sub('[\r\n\t]', '', s))

同时删除多种不同字符:translate()        py3中为str.maketrans()做映射

#!/usr/bin/python3
 
s = 'abc123xyz'
# a _> x, b_> y, c_> z,字符映射加密
print(str.maketrans('abcxyz', 'xyzabc'))
# translate把其转换成字符串
print(s.translate(str.maketrans('abcxyz', 'xyzabc')))

去掉unicode字符中音调

#!/usr/bin/python3
 
import sys
import unicodedata
s = "Zhào Qián Sūn Lǐ Zhōu Wú Zhèng Wáng"
remap = {
 # ord返回ascii值
 ord('\t'): '',
 ord('\f'): '',
 ord('\r'): None
 }
# 去除\t, \f, \r
a = s.translate(remap)
'''
通过使用dict.fromkeys() 方法构造一个字典,每个Unicode 和音符作为键,对于的值全部为None

然后使用unicodedata.normalize() 将原始输入标准化为分解形式字符

sys.maxunicode : 给出最大Unicode代码点的值的整数,即1114111(十六进制的0x10FFFF)。

unicodedata.combining:将分配给字符chr的规范组合类作为整数返回。 如果未定义组合类,则返回0。
'''
cmb_chrs = dict.fromkeys(c for c in range(sys.maxunicode) if unicodedata.combining(chr(c))) #此部分建议拆分开来理解
b = unicodedata.normalize('NFD', a)
'''

 调用translate 函数删除所有重音符
'''
print(b.translate(cmb_chrs))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解常用查找数据结构及算法(Python实现)
Dec 09 Python
PyQt5每天必学之工具提示功能
Apr 19 Python
详解通过API管理或定制开发ECS实例
Sep 30 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
python实现的config文件读写功能示例
Sep 24 Python
python3读取csv文件任意行列代码实例
Jan 13 Python
关于Tensorflow分布式并行策略
Feb 03 Python
如何使用pandas读取txt文件中指定的列(有无标题)
Mar 05 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
python Xpath语法的使用
Nov 26 Python
python中pop()函数的语法与实例
Dec 01 Python
Python 数据可视化之Matplotlib详解
Nov 02 Python
python删除某个字符
Mar 19 #Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
Mar 19 #Python
Python3 replace()函数使用方法
Mar 19 #Python
python将文本中的空格替换为换行的方法
Mar 19 #Python
python去掉空白行的多种实现代码
Mar 19 #Python
python奇偶行分开存储实现代码
Mar 19 #Python
Python实现的将文件每一列写入列表功能示例【测试可用】
Mar 19 #Python
You might like
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
Smarty模板快速入门
2007/01/04 PHP
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
浏览器窗口加载和大小改变事件示例
2014/02/27 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
easyui validatebox验证
2016/04/29 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
如何使用puppet替换文件中的string
2018/12/06 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
在webstorm中配置less的方法详解
2020/09/25 Javascript
Python脚本实现Web漏洞扫描工具
2016/10/25 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
python list删除元素时要注意的坑点分享
2018/04/18 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
python绘制玫瑰的实现代码
2020/03/02 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
美国Randolph太阳镜官网:美国制造的飞行员太阳镜和射击眼镜
2018/06/15 全球购物
初中毕业生感言
2015/07/31 职场文书
Java 数组内置函数toArray详解
2021/06/28 Java/Android