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中使用PIL模块处理图像的教程
Apr 29 Python
Python编程中的for循环语句学习教程
Oct 14 Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 Python
使用python批量化音乐文件格式转换的实例
Jan 09 Python
在python 不同时区之间的差值与转换方法
Jan 14 Python
Python pip 安装与使用(安装、更新、删除)
Oct 06 Python
如何用OpenCV -python3实现视频物体追踪
Dec 04 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
如何在Django中使用聚合的实现示例
Mar 23 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
如何利用python进行时间序列分析
Aug 04 Python
Python 3.9的到来到底是意味着什么
Oct 14 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
VOLVO车载收音机
2021/03/02 无线电
一些常用的php简单命令代码集锦
2007/09/24 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
开启PHP的伪静态模式
2015/12/31 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
在Django框架中设置语言偏好的教程
2015/07/27 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
python实现杨氏矩阵查找
2019/03/02 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
python——全排列数的生成方式
2020/02/26 Python
Python实现EM算法实例代码
2020/10/04 Python
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
四风问题自查报告剖析材料
2014/02/08 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
名人演讲稿范文
2014/09/16 职场文书
一般党员对照检查材料
2014/09/24 职场文书
鸟的天堂导游词
2015/01/31 职场文书
2015年信息化建设工作总结
2015/07/23 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis