Python常用字符串替换函数strip、replace及sub用法示例
作者:Together_CZ 发布时间:2022-04-07 18:21:17
本文实例讲述了Python常用字符串替换函数strip、replace及sub用法。分享给大家供大家参考,具体如下:
今天在做一道今年秋季招聘题目的时候遇上了一个替换的问题,题目看起来好长好复杂啊,真的,一时间,我看了好几遍也没看懂,其实实质很简单,就是需要把给定的一个字符串里面的指定字符替换成一些指定的内容就行了,这样首选当然是字典了,没有之一,题目很简单就不写出来了,在这里花了一点时间专门总结了一下字符串的替换的几个常用的函数,希望也能帮到有需要的人,自己也是当做一个学习的记录,好了,在这里就不多说什么了,在代码中该说的都说了,直接看程序:
#!/usr/bin/env python
# coding:utf-8
import re
'''''
功能:对常见的几种字符串处理函数进行测试使用学习
Author:沂水寒城
'''
def str_test():
str_list=['We are family!!!', '00 11 22 33 44 55 66 77 88 99',
'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
str_dict={
'!!!':'$$$',
' ':'@',
'T':'t',
'L':'&'
}
#使用replace
'''''
基本用法:对象.replace(rgExp,replaceText,max)
rgExp和replaceText是必须要有的,max是可选的参数
'''
str_list1=str_list
res_list=[]
for one_str in str_list1:
for key in str_dict:
one_str = one_str.replace(key, str_dict[key])
res_list.append(one_str)
print '**************replace替换结果为:*********************'
print str_list1
print res_list
#使用re
'''''
re.sub()有5个参数,三个必选参数pattern,repl,string;两个可选参数count,flags
re.sub(pattern,repl,string,count,flags)
pattern:表示正则表达式中的模式字符串;
repl:被替换的字符串,或者是一个方法(既可以是字符串,也可以是函数);
当repl为字符串的时候,也就是需要 将string中与pattern匹配的字符串都替换成repl
当repl为方法的时候,就必须是一个带有一个参数,且参数为MatchObject类型的方法,该方法需要返回一个字符串。
string:要被处理的,要被替换的字符串;
count:指的是最大的可以被替换的匹配到的字符串的个数,默认为0,就是所有匹配到的字符串。
flgas:标志位
'''
str_list2=str_list
res_list=[]
pattern_rule=re.compile(r'!!!')
for one_str in str_list2:
one_str = re.sub(pattern_rule, '$$$', one_str)
res_list.append(one_str)
print '**************sub替换结果为:*********************'
print str_list2
print res_list
#使用strip()
'''''
个人使用strip()很久了,感觉这个函数在一些事比如字符串末尾换行符去除等方面出奇的好用,
它并不算是一个纯正意义上跟上面两个函数类似的字符串处理的函数,但是用于字符串尾部删除等方面的时候
效果还是很不错的
'''
str_list3=str_list
res_list=[]
for one_str in str_list3:
one_str=one_str.strip('!!!')
res_list.append(one_str)
print '**************strip替换结果为:*********************'
print str_list3
print res_list
str_test()
结果如些下:
**************replace替换结果为:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We@are@family$$$', '00@11@22@33@44@55@66@77@88@99', 'trouble@is@a@friend$$$trouble@is@a@friend$$$', '&ove&ove&ove']
**************sub替换结果为:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family$$$', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend$$$Trouble is a friend$$$', 'LoveLoveLove']
**************strip替换结果为:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend', 'LoveLoveLove']
这些东西应该算得上是很顺手的小工具了,特别是在一些应用中能起到四两拨千斤的作用,也许是夸张了哈,但是就是很喜欢这几个小工具,所以就写出来分享一下,不足之处还望多多指教,大家共同学习共同进步!
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/together_cz/article/details/70172083


猜你喜欢
- 1. ADO.NET 方式连接Mysql数据库 经过在网上查找资料,在.net 上连接mysql 数据库有三种方式: 方法一: 使用Core
- 可以查看: OPEN SYMMETRIC KEY 命令关于 对称密钥加密使用证书解密 CREATE MASTER KEY ENCRYPTIO
- API照例,我们搬一下官网的 API:C++void cv::filter2D(InputArray src,
- 比如我随便从手机上传一张图片到我的电脑里,通过python可以获取这张照片的所有信息。如果是数码相机拍摄的照片,我们在属性里可以找到照片拍摄
- python将JPG、BMP图片转化为bgrimport cv2imgpath = "./0.png"#图片路径save
- 目录1、方式一:自动创建2、方式二:纯手动创建3、方式三:半自动创建1、方式一:自动创建# django orm 自动帮我们创建第三张表,我
- 1.定义aiohttp 是一个基于 asyncio 的异步 HTTP 网络模块,它既提供了服务端,又提供了客户端2.基本使用import a
- 前言Python多进程适用的场景:计算密集型(CPU密集型)任务Python多线程适用的场景:IO密集型任务计算密集型任务一般指需要做大量的
- 最近听了张江老师的深度学习课程,用Pytorch实现神经网络预测,之前做Titanic生存率预测的时候稍微了解过Tensorflow,听说T
- 基本操作图片的基本读取与保存。读取图片读取和文件读取类似,需要先获取流:注册图片的解码器(如:jpg则import _ "imag
- 问题描述输入样例:Only the 11 CAPItal LeTtERS are replaced输出样例:Only the 11 XZKI
- 条件判断计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if
- 当我们打开一个图片编辑软件时,基本上都会提供几个操作:平移、缩放和旋转。特别目前在手机里拍照时,由于位置传感器的失灵,也许是软件的BUG,有
- 前些日子有网友问:将ASP纪录集输出成n列的的表格形式显示的方法?现在写了一个,方便大家使用。'定义变量 Dim cn,r
- 0、什么时候会用到virtualenv?假设系统中的两个应用,其中A应用对库LibFoo的版本要求为1,而B应用对同一个库LibFoo的版本
- 简述写一个简单的flask文件下载接口。依赖flask、gevent代码不废话上代码。#!/usr/bin/env python3# -*-
- 如下所示:>> type(np.newaxis)NoneType>> np.newaxis == NoneTruen
- 故障现象 Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will exp
- 本文实例讲述了Python实现按中文排序的方法。分享给大家供大家参考,具体如下:安装中文库sudo apt-get updatesudo a
- 有一道题: 比较两个列表范围,如果包含的话,返回TRUE,否则FALSE。 详细题目如下:Create a function, this f