在我们使用爬虫爬取下来的数据中可能混有很多不需要的字符,例如:
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
方法。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有