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程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
python 读取视频,处理后,实时计算帧数fps的方法
Jul 10 Python
通过PYTHON来实现图像分割详解
Jun 26 Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 Python
Python3 使用pillow库生成随机验证码
Aug 26 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
tensorboard实现同时显示训练曲线和测试曲线
Jan 21 Python
Python 私有属性和私有方法应用场景分析
Jun 19 Python
Python json格式化打印实现过程解析
Jul 21 Python
Python基于xlrd模块处理合并单元格
Jul 28 Python
用Python制作音乐海报
Jan 26 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
建站常用13种PHP开源CMS比较
2009/08/23 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
php单链表实现代码分享
2016/07/04 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
2018/12/26 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
解决VUE双向绑定失效的问题
2019/10/29 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
[02:27]刀塔重生降临
2015/10/14 DOTA
Python之re操作方法(详解)
2017/06/14 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
十佳大学生事迹材料
2014/01/29 职场文书
4S店售后客服自我评价
2014/04/09 职场文书
高中学生评语大全
2014/04/25 职场文书
市场推广策划方案
2014/06/02 职场文书
医院护士工作检讨书
2014/10/26 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
2014年评职称工作总结
2014/11/20 职场文书