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 13 Python
在Python中使用第三方模块的教程
Apr 27 Python
Python实用日期时间处理方法汇总
May 09 Python
快速查询Python文档方法分享
Dec 27 Python
Python+树莓派+YOLO打造一款人工智能照相机
Jan 02 Python
Python工程师面试必备25条知识点
Jan 17 Python
python3.6编写的单元测试示例
Aug 17 Python
pytorch实现MNIST手写体识别
Feb 14 Python
python中sympy库求常微分方程的用法
Apr 28 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 Python
jupyter notebook 写代码自动补全的实现
Nov 02 Python
python不同版本的_new_不同点总结
Dec 09 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修改Linux或Unix口令的方法分享
2012/01/30 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
PHP模拟http请求的方法详解
2016/11/09 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
JavaScript中连接操作Oracle数据库实例
2015/04/02 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
使用ECharts实现状态区间图
2018/10/25 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
Python随机生成带特殊字符的密码
2016/03/02 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
ProForm英国站点:健身房和健身器材网上商店
2019/06/05 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
物流专业求职计划书
2014/01/10 职场文书
公益广告语集锦
2014/03/13 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
新闻人物通讯稿
2014/10/09 职场文书
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android