Python startswith()和endswith()方法及 index()和find()方法:检测字符串中是否包含某子串

Python startswith()和endswith()方法 

Python 字符串变量还可以使用 startswith() 和endswith() 方法。

startswith()方法

startswith() 方法用于检索字符串是否以指定字符串开头,如果是返回 True;反之返回 False。此方法的语法格式如下:

str.startswith(sub[,start[,end]])

此格式中各个参数的具体含义如下:

str:表示原字符串;

sub:要检索的子串;

start:指定检索开始的起始位置索引,如果不指定,则默认从头开始检索;

end:指定检索的结束位置索引,如果不指定,则默认一直检索在结束。

【例 1】判断“c.biancheng.net”是否以“c”子串开头。

>>> str = "c.biancheng.net"
>>> str.startswith("c")
True

【例 2】

>>> str = "c.biancheng.net"
>>> str.startswith("http")
False

【例 3】从指定位置开始检索。

>>> str = "c.biancheng.net"
>>> str.startswith("b",2)
True

endswith()方法

endswith() 方法用于检索字符串是否以指定字符串结尾,如果是则返回 True;反之则返回 False。该方法的语法格式如下:

str.endswith(sub[,start[,end]])

此格式中各参数的含义如下:

str:表示原字符串;

sub:表示要检索的字符串;

start:指定检索开始时的起始位置索引(字符串第一个字符对应的索引值为 0),如果不指定,默认从头开始检索。

end:指定检索的结束位置索引,如果不指定,默认一直检索到结束。

【例 4】检索“c.biancheng.net”是否以“net”结束。

>>> str = "c.biancheng.net"
>>> str.endswith("net")
True

 Python index()方法:检测字符串中是否包含某子串

同 find() 方法类似,index() 方法也可以用于检索是否包含指定的字符串,不同之处在于,当指定的字符串不存在时,index() 方法会抛出异常。

index() 方法的语法格式如下:

str.index(sub[,start[,end]])

此格式中各参数的含义分别是:

str:表示原字符串;

sub:表示要检索的子字符串;

start:表示检索开始的起始位置,如果不指定,默认从头开始检索;

end:表示检索的结束位置,如果不指定,默认一直检索到结尾。

【例 1】用 index() 方法检索“c.biancheng.net”中首次出现“.”的位置索引。

>>> str = "c.biancheng.net"
>>> str.index('.')
1

【例 2】当检索失败时,index()会抛出异常。

>>> str = "c.biancheng.net"
>>> str.index('z')
Traceback (most recent call last):
  File "<pyshell#49>", line 1, in <module>
    str.index('z')
ValueError: substring not found

同 find() 和 rfind() 一样,字符串变量还具有 rindex() 方法,其作用和 index() 方法类似,不同之处在于它是从右边开始检索,例如:

>>> str = "c.biancheng.net"
>>> str.rindex('.')
11

 Python find()方法:检测字符串中是否包含某子串

 

find() 方法用于检索字符串中是否包含目标字符串,如果包含,则返回第一次出现该字符串的索引;反之,则返回 -1。

find() 方法的语法格式如下:

str.find(sub[,start[,end]])

此格式中各参数的含义如下:

str:表示原字符串;

sub:表示要检索的目标字符串;

start:表示开始检索的起始位置。如果不指定,则默认从头开始检索;

end:表示结束检索的结束位置。如果不指定,则默认一直检索到结尾。

【例 1】用 find() 方法检索 “c.biancheng.net” 中首次出现 “.” 的位置索引。

>>> str = "c.biancheng.net"
>>> str.find('.')
1

【例 2】手动指定起始索引的位置。

>>> str = "c.biancheng.net"
>>> str.find('.',2)
11

【例 3】手动指定起始索引和结束索引的位置。

>>> str = "c.biancheng.net"
>>> str.find('.',2,-4)
-1

位于索引(2,-4)之间的字符串为“biancheng”,由于其不包含“.”,因此 find() 方法的返回值为 -1。

注意,Python 还提供了 rfind() 方法,与 find() 方法不同在于,rfind() 是从字符串右边开始检索。例如:

>>> str = "c.biancheng.net"
>>> str.rfind('.')
11
  • 30
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hakesashou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值