您的位置 首页 php

站长在线Python精讲:在Python中检索字符串的5大方法详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中检索字符串的5大方法详解》。本知识点主要内容有:使用count()方法检索指定字符串在另一个字符串中出现的次数、使用find()方法检索是否包含指定的子字符串、使用index()方法检索是否包含指定的子字符串、使用startswith()方法用于检索字符串是否以指定子字符串开头和使用endswith()方法用于检索字符串是否以指定子字符串结尾。

cca2199e389c4d4badd1b177eeb077e4

在Python中,字符串对象提供了很多应用于字符串查找的方法,站长在线这里介绍采用的5个方法:

1、使用count()方法检索指定字符串在另一个字符串中出现的次数。

我们在《在python中对列表进行统计和计算详解》学过使用count()方法获取指定的元素的出现次数。在这里也是可以检索字符串的。

count()方法用于检索指定字符串在另一个字符串中出现的次数。如果检索的字符串不存在,则返回0,否则返回出现的次数。其语法格式如下:

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

其中,相关参数说明如下:

str:表示原字符串;

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

start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索;

end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。

例如,定义一个字符串:“大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。”然后应用count()方法检索该字符串中“小妹”、“小麦”出现的次数,代码如下:

 a = '大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。'b = '小妹'c = '小麦'print('小妹出现的次数:',a.count(b))print('小麦出现的次数:',a.count(c))  

运行结果如下:

 小妹出现的次数: 5小麦出现的次数: 2>>>   

当检索的关键字不存在时,返回结果为0,代码如下:

 a = '大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。'b = '小哥'print('小哥出现的次数:',a.count(b))  

运行结果如下:

 小哥出现的次数: 0>>>   

2、使用find()方法检索是否包含指定的子字符串。

find()方法用于检索是否包含指定的子字符串。如果检索的字符串不存在,则返回−1,否则返回首次出现该子字符串时的索引。其语法格式如下:

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

其中,相关参数说明如下:

str:表示原字符串;

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

start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索;

end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。

例如,定义一个字符串:“大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。”然后应用find()方法检索该字符串中“小妹”、“小麦”首次出现的索引位置,代码如下:

 a = '大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。'b = '小妹'c = '小麦'print('小妹首次出现的索引位置:',a.find(b))print('小麦首次出现的索引位置:',a.find(c))  

运行结果如下:

 小妹首次出现的索引位置: 3小麦首次出现的索引位置: 21>>>   

当检索的关键字不存在时,返回结果为-1,代码如下:

 a = '大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。'b = '小哥'print('小哥首次出现的索引位置:',a.find(b))  

运行结果如下:

 小哥首次出现的索引位置: -1>>>   

3、使用index()方法检索是否包含指定的子字符串。

在Python中,index()方法与find()方法类似,也是用于检索是否包含指定的子字符串。只不过如果使用index()方法,当指定的字符串不存在时会抛出异常。其语法格式如下:

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

其中,相关参数说明如下:

str:表示原字符串;

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

start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索;

end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。

例如,定义一个字符串:“大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。”然后应用index()方法检索该字符串中“小妹”、“小麦”首次出现的索引位置,代码如下:

 a = '大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。'b = '小妹'c = '小麦'print('小妹首次出现的索引位置:',a.index(b))print('小麦首次出现的索引位置:',a.index(c))  

运行结果如下:

 小妹首次出现的索引位置: 3小麦首次出现的索引位置: 21>>>   

从过程和结果上看,index()方法与find()方法还真是一样的,不同的地方在于,指定字符串没有的情况下,抛出异常:如:

 a = '大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。'b = '小哥'print('小哥首次出现的索引位置:',a.index(b))  

运行结果如下:

 Traceback (most recent call last):  File "D:\Python\Python310\Doc\000.py", line 3, in <module>    print('小哥首次出现的索引位置:',a.index(b))ValueError: substring not found>>>   

我们在《Python内置异常速查表》中,知道:ValueError,就是传入的值错误。ValueError: substring not found就是 传入的值错误:未找到子字符串。

在前面的很多错误都给出了解决方法,上面的错误,修改如下:

 a = '大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。'b = '小哥'if b in a:    print('小哥首次出现的索引位置:',a.index(b))else:    print('你要检索的关键词不存在')  

运行的结果为:

 你要检索的关键词不存在>>>   

站长在线特别提醒:Python的字符串对象还提供了rindex()方法,其作用与index()方法类似,只是从右边开始查找。本教程就不再重复一次了。有的教程是独立做一个方法的。今天再次重复的话,我的教程也太多了,提醒一下,大家知道就行。最好自己运行代码一下。

4、使用startswith()方法用于检索字符串是否以指定子字符串开头。

在Python中,使用startswith()方法用于检索字符串是否以指定子字符串开头。

如果是,则返回True,否则返回False。语法格式如下:

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

其中,相关参数说明如下:

str:表示原字符串;

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

start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索;

end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。

例如,定义一个字符串:“大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。”然后应用startswith()方法检索该字符串中“小妹”、“小麦”开头的,代码如下:

 a = '大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。'b = '小妹'c = '小麦'print('是否以小妹开头:',a.startswith(b))print('是否以小麦开头:',a.startswith(c))  

运行结果如下:

 是否以小妹开头: False是否以小麦开头: False>>>   

我来修改一下:

 a = '大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。'b = '小'c = '大'print('是否以小开头:',a.startswith(b))print('是否以大开头:',a.startswith(c))  

运行结果:

 是否以小开头: False是否以大开头: True>>>   

5、使用endswith()方法用于检索字符串是否以指定子字符串结尾

在Python中,可以使用endswith()方法用于检索字符串是否以指定子字符串结尾。如果是,则返回True,否则返回False。语法格式如下:

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

其中,相关参数说明如下:

str:表示原字符串;

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

start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索;

end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。

例如,定义一个字符串:“大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。”然后应用endswith()方法检索该字符串中“。”、“麦”结尾的,代码如下:

 a = '大妹和小妹,一起去收麦。大妹割大麦,小妹割小麦。大妹帮小妹挑小麦,小妹帮大妹挑大麦。大妹小妹收完麦,噼噼啪啪齐打麦。'b = '。'c = '麦'print('是否以。结尾:',a.endswith(b))print('是否以麦结尾:',a.endswith(c))  

运行结果如下:

 是否以。结尾: True是否以麦结尾: False>>>   

这说明,以字符串的标点符号是计算进去的,而不是汉字。只要是最后一个字符就行。

到此为止,本文《在Python中检索字符串的5大方法详解》内容:使用count()方法检索指定字符串在另一个字符串中出现的次数、使用find()方法检索是否包含指定的子字符串、使用index()方法检索是否包含指定的子字符串、使用startswith()方法用于检索字符串是否以指定子字符串开头和使用endswith()方法用于检索字符串是否以指定子字符串结尾。就全部讲解完毕了,有问题的可以给我留言哦!

下一个知识点,站长在线分享的是《在Python中字符串对象中字母的大小写转换详解》,欢迎你对站长在线的关注,评论,点赞,转发!

文章来源:智云一二三科技

文章标题:站长在线Python精讲:在Python中检索字符串的5大方法详解

文章地址:https://www.zhihuclub.com/32214.shtml

关于作者: 智云科技

热门文章

网站地图