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 05 Python
Python基于回溯法解决01背包问题实例
Dec 06 Python
一道python走迷宫算法题
Jan 22 Python
tensorflow中next_batch的具体使用
Feb 02 Python
python实现数据写入excel表格
Mar 25 Python
TensorFlow实现随机训练和批量训练的方法
Apr 28 Python
Python3爬虫全国地址信息
Jan 05 Python
python设置随机种子实例讲解
Sep 12 Python
Python:type、object、class与内置类型实例
Dec 25 Python
Python使用sys.exc_info()方法获取异常信息
Jul 23 Python
Django项目如何正确配置日志(logging)
Apr 29 Python
Python Matplotlib库实现画局部图
Nov 17 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导入大量数据到mysql性能优化技巧
2014/12/29 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
Javascript 复制数组实现代码
2009/11/26 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
javascript(js)的小数点乘法除法问题详解
2014/03/07 Javascript
javascript 原型链维护和继承详解
2014/11/26 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
浅谈Webpack核心模块tapable解析
2018/09/11 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
详解Python中列表和元祖的使用方法
2015/04/25 Python
Python操作Word批量生成文章的方法
2015/07/28 Python
Python数据操作方法封装类实例
2017/06/23 Python
python flask实现分页效果
2017/06/27 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
区域总监的岗位职责
2013/11/21 职场文书
超市端午节活动方案
2014/01/23 职场文书
2014小学植树节活动总结
2014/03/10 职场文书
辩论赛主持词
2014/03/18 职场文书
林肯就职演讲稿
2014/05/19 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
canvas实现贪食蛇的实践
2022/02/15 Javascript
Python OpenCV实现图像模板匹配详解
2022/04/07 Python
JavaScript前端面试组合函数
2022/06/21 Javascript