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

在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 >>>

站长在线特别提醒:Python的字符串对象还提供了rfind()方法,其作用与find()方法类似,只是从右边开始查找。本教程就不再重复一次了。有的教程是独立做一个方法的。

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 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+培训+麦子相关推荐

  1. Python培训:Python有哪些函数?你了解几种?

    本期小编要为大家带来的Python教程就是关于Python函数这方面的,我们都知道Python函数,一般是指组织好的.可重复使用的.用来实现单一或相关联功能的代码段,Python函数包含系统中自带的一 ...

  2. Python培训教程:Python有哪些比较重要的内置函数?

    学习Python技术或者参加Python工作的小伙伴们应该都知道,在Python编程语言中会经常出现很多内置函数,很少有人清楚这些函数,但是它的功能是不可小觑的,下面小编就为大家详细介绍一下Pytho ...

  3. Python培训教程分享:10款超好用的Python开发工具

    学会Python技术后,我们在参加工作的时候如果能有辅助工具的话,那么会很大程度的提高我们的工作效率,那么Python都有哪些好用的开发工具呢?下面小编就为大家详细的介绍一下10款超好用的Python ...

  4. Python培训教程分享:Python异常机制

    ​ 在学习Python技术的时候,我们经常会遇到一些异常,例如导致程序在运行过程中出现的中断或退出,我们都称之为异常,大多数的异常都不会被程序处理,而是以错误信息的形式展现出来.本期Python培训教 ...

  5. 参加完Python培训后有哪些就业方向

    很多学习Python技术的同学都是为了后面能够找到一个好的工作,对于大家来说了解了Python的就业方向,后面就可以根据自己的能力来选择对应的工作岗位了,那么下面小编就为大家详细的介绍一下参加完Pyt ...

  6. Python培训教程分享:有哪些值得使用的爬虫开源项目?

    相信很多同学在学习Python技术的时候,都有学习到Python爬虫技术,爬虫技术在各大互联网公司都是非常常见的,可以帮助我们获取各种网站的信息,比如微博.B站.知乎等,本篇Python培训教程分享为 ...

  7. Python培训教程分享:visual studio编写python怎么样?

    本期小编要为大家介绍的Python培训教程就是关于"visual studio编写python怎么样?"的问题,但答案当然是可以的,据了解,vs2017.vs2019都集成了pyt ...

  8. Python培训分享:Python新版本中的6个新特性

    Python在几年做了一个全面的升级,此次Python升级中有6个新特性,本期小编为大家介绍的Python培训教程就是关于介绍Python新版本中的6个新特性的,来看看下面的详细介绍. Python培 ...

  9. Python培训教程分享:Python中选择结构是什么

    越来越多的人开始报名学习Python技术,那么学习Python技术不是一两天就能学会的,本期小编为大家推荐的Python培训教程主要讲的是"Python中选择结构是什么",下面来看 ...

最新文章

  1. Javascript闭包,比较好懂的一篇文章
  2. 扒中台的“祖坟”!对不起,Supercell的“中台”,你学不会
  3. arcgis python编程案例-ArcGIS Python编程案例-电子资料链接
  4. MPLS是如何工作?MPLS的完整指南和常见问题解答
  5. 京东云上集市谋定中国农民丰收节交易会 建九江电商产业园
  6. Java集合篇:HashMap原理详解(JDK1.8)
  7. Appium运行时,error: Logcat capture failed: spawn ENOENT的解决办法
  8. centos8 安装mysql_Centos 离线安装mysql8(以及在线安装)
  9. 编历修改工作表中的控件属性(更新条形码)
  10. VMware ESXi 高危漏洞的补丁被指不完整
  11. 横屏模式(landscape)下的UIDatePicker
  12. mex 里面调用matlab函数
  13. javascript数据结构之队列
  14. 机器学习初探(手写数字识别)matlab读取数据集
  15. 解决aqua data studio 中文乱码问题
  16. 数学基础知识02——常用积分公式
  17. SEO为什么一定要面面俱到?
  18. 燃气流量计算机价格,燃气流量计价格常用解决方案「凯帝仪表」
  19. P3322 [SDOI2015]排序
  20. 3D动作手游的辅助瞄准算法(二)

热门文章

  1. 现行ISO/IEC软件工程国际标准
  2. 网易极客战记-KITHGARD地牢--老对手 (需解锁)
  3. android studio 的串口调试工具
  4. 如何彻底卸载python
  5. 《林超:给年轻人的跨学科通识课》导图 03:工程学模型
  6. 【Python基础题9】计算a + aa + aaa + aaaa的值
  7. 对计算机专业专家的访谈,职教名家引领!育才职教中心邀请北师大教授主持计算机网络技术专业群访谈会...
  8. 沙坪坝计算机学校,沙坪坝计算机应用专业学校_重庆市涪陵创新计算机学校
  9. “二查”再开打:企查查控诉天眼查窃取数据
  10. qt利用腾讯云服务器实现不同局域网的通信(tcp)