Python学习笔记-11(字符串内建函数-2)

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中第一个函数则是查找该字符串所有符合该字符的值,第二个为需要替换成什么字符,第三个为替换几次,可以多做练习! 

 

以上为总结知识点,出自哔哩哔哩千峰宋如宁老师课程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值