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 文件操作实现代码
Oct 07 Python
Django1.7+python 2.78+pycharm配置mysql数据库
Oct 09 Python
Python中的浮点数原理与运算分析
Oct 12 Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 Python
Python如何获得百度统计API的数据并发送邮件示例代码
Jan 27 Python
深入了解python中元类的相关知识
Aug 29 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
Django实现将一个字典传到前端显示出来
Apr 03 Python
Python Sqlalchemy如何实现select for update
Oct 12 Python
浅谈Selenium 控制浏览器的常用方法
Dec 04 Python
Python爬虫中Selenium实现文件上传
Dec 04 Python
python网络爬虫实现发送短信验证码的方法
Feb 25 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
PHP模拟SQL Server的两个日期处理函数
2006/10/09 PHP
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
7个超级实用的PHP代码片段
2011/07/11 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
动态样式类封装JS代码
2009/09/02 Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
2013/08/08 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
详谈js原型继承的一些问题
2017/09/06 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
React 高阶组件入门介绍
2018/01/11 Javascript
详解使用mpvue开发github小程序总结
2018/07/25 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
python 控制语句
2011/11/03 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
仓库规划计划书
2014/04/28 职场文书
党的群众路线教育实践活动调研报告
2014/11/03 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书