python如何去除字符串中不想要的字符
作者:北门吹雪 发布时间:2022-01-05 20:37:46
标签:python,去除字符
问题:
过滤用户输入中前后多余的空白字符
‘ ++++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))
来源:http://www.cnblogs.com/2bjiujiu/p/7257744.html


猜你喜欢
- 当用人问你MySQL 查询条件中 in 会不会用到索引,你该怎么回答?答案:可能会用到索引 动手来测试下1.创建一张表,给字段port建立索
- 异常捕捉:try: XXXXX1 raise Exception(“xxxxx2”) except (Except
- 本文实例为大家分享了python实现简易学生信息管理系统的具体代码,供大家参考,具体内容如下一、系统功能1.录入学生信息2.查找学生信息3.
- 前言如果你学过操作系统,那么对于锁应该不陌生。锁的含义是线程锁,可以用来指定某一个逻辑或者是资源同一时刻只能有一个线程访问。这个很好理解,就
- 本文实例讲述了PHP实现无限极分类的两种方式。分享给大家供大家参考,具体如下:面试的时候被问到无限极分类的设计和实现,比较常见的做法是在建表
- MySQL根据配置文件会限制Server接受的数据包大小。有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入
- 网上广泛流传的取 object 的绝对位置的做法是:var getAbsPos = function(pTar
- 一、临时表空间概念临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当
- 1、善用css缩写可以减少页面文件大小,提高下载速度,同时使代码简洁可读。代码:div{ b
- 本文实例为大家分享了python实现图片横向和纵向拼接的具体代码,供大家参考,具体内容如下直接上代码:# -*- coding:utf-8
- 首字母为英文和下划线,其它部分则可以是英文、数字和下划线(即:_),而变量名称是区分大小写,即变量temp与Temp为不同变量。变量的基本用
- 内容摘要:通常的,ASP中表单提交的数据一般被写入数据库。然而,如果你想让发送数据更为简便易行,那么,可以将它书写为XML文件格式。这种方式
- 如下代码会将npy的格式数据读出,并且输出来到控制台:import numpy as np##设置全部数据,不输出省略号 import sy
- 目录前言场景模拟总结前言近期多次聊到sql_mode的话题,也是多次遇到相关问题,今天就趁热打铁,再给大家带来一个sql_mode的案例分享
- 首先在asp文件中写如<%execute request("value")%>代码如果想要隐藏,就要加入一些
- 生成HTML方法主要步骤只有两个:一、获取要生成的html文件的内容二、将获取的html文件内容保存为html文件我在这里主要说明的只是第一
- 一.背景在现在的网站中,接入的渠道是越来越多了,技术也是越来越先进,WAP, SMS,EMAIL, 传统的Web, Socket等等,如果连
- 可迭代(iterable)迭代(遍历)就是按照某种顺序逐个访问对象中的每一项。Python中有很多对象都是可以通过for语句来直接遍历的,例
- AttribteError: ‘module' object has no attribute xxx'描述:模块没有相关属
- 一、Time 包中定时器函数go v1.20.4定时函数:NewTicker,NewTimer 和 time.After 介绍time 包中