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删除列表中重复记录的方法
Apr 28 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
May 20 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
Jun 14 Python
让python 3支持mysqldb的解决方法
Feb 14 Python
利用python爬取软考试题之ip自动代理
Mar 28 Python
Python datetime和unix时间戳之间相互转换的讲解
Apr 01 Python
Django的models中on_delete参数详解
Jul 16 Python
Django学习之文件上传与下载
Oct 06 Python
python中导入 train_test_split提示错误的解决
Jun 19 Python
详解python中GPU版本的opencv常用方法介绍
Jul 24 Python
Python中return函数返回值实例用法
Nov 19 Python
解决Pymongo insert时会自动添加_id的问题
Dec 05 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 正则表达式的学习探讨
2013/06/06 PHP
php获取访问者IP地址汇总
2015/04/24 PHP
php统计数组元素个数的方法
2015/07/02 PHP
php判断linux下程序问题实例
2015/07/09 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
轻松创建nodejs服务器(9):实现非阻塞操作
2014/12/18 NodeJs
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
jquery.uploadView 实现图片预览上传功能
2017/08/10 jQuery
详解vue.js之props传递参数
2017/12/12 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
Python中单例模式总结
2018/02/20 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
毕业生怎样写好自荐信
2013/11/11 职场文书
生物医学工程专业学生求职信范文分享
2013/12/14 职场文书
行政办公室岗位职责
2014/03/18 职场文书
房地产公司见习自我鉴定
2014/04/28 职场文书
2015年元旦活动总结
2014/05/09 职场文书
材料化学专业求职信
2014/07/15 职场文书
音乐教师个人总结
2015/02/06 职场文书
2015年出纳年终工作总结
2015/05/14 职场文书
2015初中团支部工作总结
2015/07/21 职场文书