一日一技:在字符串中批量替换单个字符

简介: 一日一技:在字符串中批量替换单个字符

在我们使用爬虫爬取下来的数据中可能混有很多不需要的字符,例如:

address = '浙江省杭州市\r\n滨江区xx小区7#门'

我现在需要移除里面的 \r\n、把 #替换为 。你可能会这样写代码:

clean_address = address.replace('\r', '')
clean_address = address.replace('\n', '')
clean_address = address.replace('#', '号')

这样的写法,处理几个字符还行,但如果要处理几百个特殊符号,那就很困难了。

所以当我们要处理很多的字符串替换时,可能会有一个配置文件来记录替换关系:

need_replace = {'\n': '', '\r': '', '#': '号'}

在这种情况下,我们可以使用字符串的 translate方法来实现替换:

address = '浙江省杭州市\r\n滨江区xx小区7#门'
need_replace = {'\n': '', '\r': '', '#': '号'}
table = str.maketrans(need_replace)
clean_address = address.translate(table)

运行效果如下图所示:

使用这种方式,可以让代码看起来更加简洁,也更方便配置。

不过当需要替换的字符串比较少时, translate的效率比 replace低。并且 translate只能实现多个单字符的替换,不能替换多字符的字符串,例如:

address = '浙江省杭州市</p>滨江区'

如果要把 </p>整体替换为空,就不能使用 translate方法。

目录
相关文章
|
Shell Linux C语言
【Shell 命令集合 磁盘管理 】Linux 控制光驱或可移动媒体设备的弹出和关闭操作 eject命令使用教程
【Shell 命令集合 磁盘管理 】Linux 控制光驱或可移动媒体设备的弹出和关闭操作 eject命令使用教程
246 1
|
JavaScript 前端开发
牛客最新笔试题解析(二)原型与原型链题目
牛客最新笔试题解析(二)原型与原型链题目
677 0
牛客最新笔试题解析(二)原型与原型链题目
|
Python
PyQt5-基本控件| 主窗口的类型、创建以及代码如何实现?
PyQt5-基本控件| 主窗口的类型、创建以及代码如何实现?
256 1
|
10月前
|
JSON JavaScript 前端开发
springboot中使用knife4j访问接口文档的一系列问题
本文作者是一位自学前端两年半的大一学生,分享了在Spring Boot项目中使用Knife4j遇到的问题及解决方案,包括解决Swagger请求404错误、JS错误等,详细介绍了依赖升级、注解替换及配置修改的方法。
2032 1
|
存储 资源调度 JavaScript
PNPM(高性能的npm)介绍
PNPM(高性能的npm)介绍
PNPM(高性能的npm)介绍
|
XML JavaScript 前端开发
Web标准是一系列由W3C和其他组织制定的规范
【5月更文挑战第26天】Web标准是一系列由W3C和其他组织制定的规范
205 2
|
关系型数据库 MySQL Python
Python——读取MySQL数据并导出到Excel
Python——读取MySQL数据并导出到Excel
小技巧 - 怎样屏蔽群消息(包括 @全体成员)?
小技巧 - 怎样屏蔽群消息(包括 @全体成员)?
10918 2
小技巧 - 怎样屏蔽群消息(包括 @全体成员)?
|
机器学习/深度学习 存储 弹性计算
阿里云计算型实例云服务器最新活动价格参考,年付992.11元1年起
在阿里云服务器的所有实例中,计算型实例由于cpu与内存比通常为1:2,更适合网站应用、各种类型和规模的企业级应用,因此成为很多企业用户建站和部署APP等项目的首选云服务器实例,目前阿里云的活动中计算型实例云服务器最低仅需992.11元1年起,下面是阿里云计算型实例云服务器最新活动报价。
462 0
阿里云计算型实例云服务器最新活动价格参考,年付992.11元1年起
|
分布式计算 Hadoop Java
Hadoop中HDFS的API操作、客户端环境准备、配置HADOOP_HOME环境变量
Hadoop中HDFS的API操作、客户端环境准备、配置HADOOP_HOME环境变量
Hadoop中HDFS的API操作、客户端环境准备、配置HADOOP_HOME环境变量