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实现将16进制字符串转化为ascii字符的方法分析
Jul 21 Python
Python字典及字典基本操作方法详解
Jan 30 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
Django框架封装外部函数示例
May 28 Python
解决django-xadmin列表页filter关联对象搜索问题
Nov 15 Python
Python代码块及缓存机制原理详解
Dec 13 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
Jan 02 Python
Java Spring项目国际化(i18n)详细方法与实例
Mar 20 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
Aug 07 Python
python把一个字符串切开的实例方法
Sep 27 Python
python处理写入数据代码讲解
Oct 22 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学习笔记 数组的常用函数
2011/06/13 PHP
php学习笔记之面向对象编程
2012/12/29 PHP
PHP容易忘记的知识点分享
2013/04/30 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
js实现广告漂浮效果的小例子
2013/07/02 Javascript
JQuery之focus函数使用介绍
2013/08/20 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
Python绑定方法与非绑定方法详解
2017/08/18 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
工商管理实习生自我鉴定范文
2013/12/18 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
工作岗位说明书模板
2014/05/09 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
企业贷款委托书格式
2014/09/12 职场文书
二人合伙经营协议书
2014/09/13 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
JavaScript的function函数详细介绍
2021/11/20 Javascript
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP