![更多课程](/zhuzhan/img/btn-course.png)
![选择中心](/zhuzhan/img/btn-center.png)
![logo](/zhuzhan/img/logo.png)
Python培训
400-996-5531
今天我们来学习查找与替换字符串,对于查找和替换字符串是程序对字符串处理的最基础功能,在python中给我们提供了str.find()函数用于获取子字符串出现的位置。
str.find()的语法函数是在一个变量之后.find之后传入目标字符串,后面两个参数可以指定开始与结束的位置。
标准语法:str.find(目标串,[开始位置],[结束位置]),,例如:"Nice to meet you".find("ee")返回9。
这里我们传入目标字符串为ee,就会返回9,那是为什么呢?那是因为这句话中ee出现的位置在第10个字符符合要求,那为什么返回9呢?那是因为在我们程序处理的时候,所有字符串第一个字母的索引值为0,依次往后类推,到ee的时候索引值就是9了,这和我们自然的从1开始是不同的。这一点一定要记住。
回到代码中,我们对刚才的程序做一下测试,
对于find的方法,会第一次索引出现的位置,,所以这里我们设置变量index
#字符串查找 source="Nice to meet you" index=source.find("ee") #给个变量index,代表索引的意思 #输出indexprint(index)
此时看到运行的结果为9,和我们预期相符,返回的是字符串第一次索引的位置,是从0开始索引的
对于查找字符串我们还可以缩小查找范围,这里我们把原始字符串延长
source="Nice to meet you,i need your help!" index=source.find("ee",17) print(index)
可以看到在我新增的这句话里面也出现了ee,对于find方法是可以指定起始位置与结束位置的,find后面两位参数代表起始位置,这里我们指定you后面的数字为17,意思是第二个参数代表起始位置,它会从逗号以后进行数据的查找,因为从逗号之后开始查找的,前面的ee就跳过了,后面的ee会被获取,尽管它的查找范围是这样的,但是find方法出现的结果是从第一个字符数到后面的ee这里,也就是索引值为21的位置。
当然,如果你愿意你还可以在后面增加结束的位置,比如在find的第二个参数增加为27。
source="Nice to meet you, i need your help!" index=source.find("ee",17,27) print(index)
我们输出看一下
输出的结果还是21,那是因为ee在17到27这个范围之内,所以从0数到ee的位置是21不变。
如果我们将find的第二个参数27改成22,不包含ee,我们看会输出什么。
代码如下:
source="Nice to meet you, i need your help!" index=source.find("ee",17,22) print(index)
运行之后,输出的结果为-1,那是因为在选中的范围内17到22之间没有ee这个字符串出现,则会返回-1,-1的意思是在该范围内不存在指定的字符串。
我想对于find方法,您应该掌握了具体的用途,在绝大多数情况下,我们并不需要后面的两个参数,值需要传入目标字符串,就可以在完整的结果中进行查找了,对于find方法就讲到这里了。
在这里我们还要再讲解一个小知识,如果我们不关心ee在这个字符串中出现在什么位置,只关心它出没出现过,这里我们可以使用一个表达式。
source="Nice to meet you, i need your help!" isexise ="ee" in source print(isexise)
运行结果如下:
这是简单的方式,但是只会返回True或者False。
字符串替换
下面我们来学习字符串的替换功能,在我们日常开发过程中字符串替换功能非常常用,它用于原始的文本,将符合要求的字符串替换成新的字符串,在这里python3为我们提供了replace函数进行字符串替换,那么replace函数怎么使用呢?
replace函数有三个参数,分别是要被替换的原始串,要替代的目标串,以及要替换的次数,这里我们来看一下示例:
对于原始的文本
"aaabbbccc".replace("b","d",2)
以上代码的意思是将原始字符串aaabbbccc,出现的b替换成d,替换2次,于是replace输出的结果是aaaddbccc,说到这里您应该就能明白replace函数的使用办法了吧
我们回到代码中再演示一遍
#字符串替换str1="this is string example...wow!!! this is really string" #调用replacepstr=str1.replace("is","was") print(pstr)
运行后的结果
thwas was string example...wow!!! thwas was really string
我们可以看到在原始字符串中有4处符合的地方
我们可以指定替换次数#字符串替换
str1="this is string example...wow!!! this is really string" #调用replacepstr=str1.replace("is","was",3) print(pstr)
输出的结果:thwas was string example...wow!!! thwas is really string
和之前输出的结果不同,如果后面不增加替换次数,就默认为全部替换。
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有