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判断、获取一张图片主色调的2个实例
Apr 10 Python
Python实现的tab文件操作类分享
Nov 20 Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
Feb 28 Python
python实现图像拼接
Mar 05 Python
python3 logging日志封装实例
Apr 08 Python
MATLAB数学建模之画图汇总
Jul 16 Python
python 爬虫如何正确的使用cookie
Oct 27 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
Jan 28 Python
Python利器openpyxl之操作excel表格
Apr 17 Python
Python基础之Socket通信原理
Apr 22 Python
python基础之函数的定义和调用
Oct 24 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
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
一段多浏览器的"复制到剪贴板"javascript代码
2007/03/27 Javascript
jQuery源码分析之Event事件分析
2010/06/07 Javascript
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
2018/08/12 Javascript
JS实现图片切换效果
2018/11/17 Javascript
react 移动端实现列表左滑删除的示例代码
2019/07/04 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
js实现小星星游戏
2020/03/23 Javascript
python将字符串转换成数组的方法
2015/04/29 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
django的model操作汇整详解
2019/07/26 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
python小白切忌乱用表达式
2020/05/29 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
党员思想汇报范文
2013/12/30 职场文书
网上卖盒饭创业计划书范文
2014/02/07 职场文书
求职毕业生自荐书
2014/02/08 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
单位工作证明书格式
2014/10/04 职场文书
python源码剖析之PyObject详解
2021/05/18 Python
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL