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简单格式化时间的方法【strftime函数】
Sep 18 Python
Python探索之Metaclass初步了解
Oct 28 Python
python实现自动发送邮件
Jun 20 Python
python中的tcp示例详解
Dec 09 Python
想学python 这5本书籍你必看!
Dec 11 Python
Laravel+Dingo/Api 自定义响应的实现
Feb 17 Python
Python根据当前日期取去年同星期日期
Apr 14 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 Python
Python如何获取文件指定行的内容
May 27 Python
Django创建一个后台的基本步骤记录
Oct 02 Python
Python 中 Shutil 模块详情
Nov 11 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 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
PHP缩略图生成和图片水印制作
2017/01/07 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
js查错流程归纳
2012/05/04 Javascript
JavaScript中window、doucment、body的解释
2013/08/14 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
JS倒计时实例_天时分秒
2017/08/22 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
2019/10/28 jQuery
如何基于jQuery实现五角星评分
2020/09/02 jQuery
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
Python实现的字典值比较功能示例
2018/01/08 Python
Python iter()函数用法实例分析
2018/03/17 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
2019/12/31 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
教师应聘个人求职信
2013/12/10 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
晨会主持词
2014/03/17 职场文书
抵押贷款承诺书
2014/05/30 职场文书
张丽莉观后感
2015/06/16 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书