2023.4.18
努力学习python,想为以后可以有一份额外收入,如果有大神可以指点一下,我将不胜感激
如果有大神想以后拥有一个合作伙伴进行交流,我会尽力赶上您的脚步!
第二部分:查找相关的内建函数
函数类别有 find() rfind() lfind() index() rindex() lindex() replace()
one个one个的说,first of all ! 是find() 内建函数
find( ) find('str',beg(起始值) = 0 , end(结束值) = len(string) 该函数称为发现函数
作用:查找某字符串中是否有某字符,有没有发现这个作用好像有点熟悉!没错!in 函数也是可以查找某字符串中是否有某字符,那么为什么要有find? find的功能更加高级!
无指定查找方法! 举例
s1 = 'index lucy lucky goods'
postition = s1.find('l')
print(postition)
s1为字符串,使用find内建函数查找 是否有 ' l ' 该字符,从字符起始位置开始查找,有的话则输出该字符的位置,起始位置是0,那么输出结果为6
那么如果查找不到该字符输出什么呢? 查找不到字符则返回 -1 值,如果可以找到,则返回第一次出现该字符的值
指定起始查找方法! 举例
#按照上面的代码继续,要求输出lucky的l的位置,如何避开第一个l,输出第二个呢
p = s1.find('1',position+1)
print(p)
这儿的起始值是position+1 ,那么为什么是position+1呢,我们都知道,该position的值是第一个 l 位置的值,如果这里起始值是position,那么他还会直接输出该l的位置,只有增加了1,从增加1开始寻找l,才可以找到lucky的值
指定起始和结尾查找! 举例
p = s1.find('o',position+1,len(s1)-5)
print(p)
在这里,寻找o的值,len(s1)是代表s1字符串的长度,减去5则寻找范围为 从u开始,寻找到y ,那么寻找不到,输出为-1
假设我们需要寻找的值在最右边怎么办?难道要一步步的使用position+1的方法? 嘿,拜托,这太麻烦了! 有两个函数轻松解决你的问题! rfind( ) 和 lfind( )! 分别为右侧查找和左侧查找,顾名思义,就是从最哪边开始查找,下面举例!
假设某图片地址为https://profile.csdnimg.cn/C/C/6/1_ww_73470688.png 我只需要取下来1_ww_73470688.png 文件名,那么意味着我需要取下从最右边开始数的/ 以后的值,需要使用到切片操作,我们都知道切片操作是需要知道某个字符位置,从某地方开始截取到最后,那么我们可以利用find函数解决该问题!
url = 'https://profile.csdnimg.cn/C/C/6/1_ww_73470688.png '
p = url.rfind('\') #从最右边开始寻找,找到\则输出该值
filename = url[p+1:] #为什么需要该值还要加1,因为我们不需要\值,包前不包后
print(filename)
#输出为该值
index( ) index(str,beg(起始值) = 0 ,end(string) ) 索引,检索
index( )函数不必多讲了,他和find() 函数用法一致,他也有rindex() 和 lindex() 。他们的区别就是,find()函数寻找不到某个值会返回为-1,而index()函数寻找不到会报错,报异常
replace( ) replace(old()检索值,new(替换成该值) [max] 替换次数) 替换函数
举例:
s1 = 'index lucy lucky goods'
p = s1.replace(' ',#) #将空格替换为#号键
p = s1.replace(' ',#,2) #将空格替换为#号键,最大替换二次
根据以上例子可以明白,replace中第一个函数则是查找该字符串所有符合该字符的值,第二个为需要替换成什么字符,第三个为替换几次,可以多做练习!
以上为总结知识点,出自哔哩哔哩千峰宋如宁老师课程