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图像处理之反色实现方法
May 30 Python
Python编程中归并排序算法的实现步骤详解
May 04 Python
Python三种遍历文件目录的方法实例代码
Jan 19 Python
python设置值及NaN值处理方法
Jul 03 Python
python查看列的唯一值方法
Jul 17 Python
Python实现的列表排序、反转操作示例
Mar 13 Python
Python闭包和装饰器用法实例详解
May 22 Python
python实现XML解析的方法解析
Nov 16 Python
Python超越函数积分运算以及绘图实现代码
Nov 20 Python
Python学习笔记之装饰器
Aug 06 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
Nov 30 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
codeigniter上传图片不能正确识别图片类型问题解决方法
2014/07/25 PHP
微信支付PHP SDK ―― 公众号支付代码详解
2016/09/13 PHP
JavaScript延迟加载
2021/03/09 Javascript
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
js实现文字截断功能
2016/09/14 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
Django 路由控制的实现代码
2018/11/08 Python
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
详解如何在登录过期后跳出Ifram框架
2020/09/10 HTML / CSS
Linux如何命名文件--使用文件名时应注意
2014/05/29 面试题
岗位竞聘演讲稿
2014/01/10 职场文书
有创意的广告词
2014/03/18 职场文书
幼儿园毕业典礼主持词
2014/03/21 职场文书
闭幕式主持词
2014/04/02 职场文书
大型会议策划方案
2014/05/17 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
法制工作总结2015
2015/07/23 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
简述Java中throw-throws异常抛出
2021/08/07 Java/Android
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript
MySQL数据库简介与基本操作
2022/05/30 MySQL
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript
virtualenv隔离Python环境的问题解析
2022/06/21 Python