百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

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

off999 2024-10-22 13:36 20 浏览 0 评论

欢迎你来到站长在线的站长学堂学习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 <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中字符串对象中字母的大小写转换详解》,欢迎你对站长在线的关注,评论,点赞,转发!

相关推荐

大文件传不动?WinRAR/7-Zip 入门到高手,这 5 个技巧让你效率翻倍

“这200张照片怎么传给女儿?微信发不了,邮箱附件又超限……”62岁的张阿姨对着电脑犯愁时,儿子只用了3分钟就把照片压缩成一个文件,还教她:“以后用压缩软件,比打包行李还方便!”职场人更懂这...

电脑解压缩软件推荐——7-Zip:免费、高效、简洁的文件管理神器

在日常工作中,我们经常需要处理压缩文件。无论是下载软件包、接收文件,还是存储大量数据,压缩和解压缩文件都成为了我们日常操作的一部分。而说到压缩解压软件,7-Zip绝对是一个不可忽视的名字。今天,我就来...

设置了加密密码zip文件要如何打开?这几个方法可以试试~

Zip是一种常见的压缩格式文件,文件还可以设置密码保护。那设置了密码的Zip文件要如何打开呢?不清楚的小伙伴一起来看看吧。当我们知道密码想要打开带密码的Zip文件,我们需要用到适用于Zip格式的解压缩...

大文件想要传输成功,怎么把ZIP文件分卷压缩

不知道各位小伙伴有没有这样的烦恼,发送很大很大的压缩包会受到限制,为此,想要在压缩过程中将文件拆分为几个压缩包并且同时为所有压缩包设置加密应该如何设置?方法一:使用7-Zip免费且强大的文件管理工具7...

高效处理 RAR 分卷压缩包:合并解压操作全攻略

在文件传输和存储过程中,当遇到大文件时,我们常常会使用分卷压缩的方式将其拆分成多个较小的压缩包,方便存储和传输。RAR作为一种常见的压缩格式,分卷压缩包的使用频率也很高。但很多人在拿到RAR分卷...

2个方法教你如何删除ZIP压缩包密码

zip压缩包设置了加密密码,每次解压文件都需要输入密码才能够顺利解压出文件,当压缩包文件不再需要加密的时候,大家肯定想删除压缩包密码,或是忘记了压缩包密码,想要通过删除操作将压缩包密码删除,就能够顺利...

速转!漏洞预警丨压缩软件Winrar目录穿越漏洞

WinRAR是一款功能强大的压缩包管理器,它是档案工具RAR在Windows环境下的图形界面。该软件可用于备份数据,缩减电子邮件附件的大小,解压缩从Internet上下载的RAR、ZIP及其它类...

文件解压方法和工具分享_文件解压工具下载

压缩文件减少文件大小,降低文件失效的概率,总得来说好处很多。所以很多文件我们下载下来都是压缩软件,很多小伙伴不知道怎么解压,或者不知道什么工具更好,所以今天做了文件解压方法和工具的分享给大家。一、解压...

[python]《Python编程快速上手:让繁琐工作自动化》学习笔记3

1.组织文件笔记(第9章)(代码下载)1.1文件与文件路径通过importshutil调用shutil模块操作目录,shutil模块能够在Python程序中实现文件复制、移动、改名和删除;同时...

Python内置tarfile模块:读写 tar 归档文件详解

一、学习目标1.1学习目标掌握Python内置模块tarfile的核心功能,包括:理解tar归档文件的原理与常见压缩格式(gzip/bz2/lzma)掌握tar文件的读写操作(创建、解压、查看、过滤...

使用python展开tar包_python拓展

类Unix的系统,打包文件经常使用的就是tar包,结合zip工具,可以方便的打包并解压。在python的标准库里面有tarfile库,可以方便实现生成了展开tar包。使用这个库最大的好处,可能就在于不...

银狐钓鱼再升级:白文件脚本化实现GO语言后门持久驻留

近期,火绒威胁情报中心监测到一批相对更为活跃的“银狐”系列变种木马。火绒安全工程师第一时间获取样本并进行分析。分析发现,该样本通过阿里云存储桶下发恶意文件,采用AppDomainManager进行白利...

ZIP文件怎么打开?2个简单方法教你轻松搞定!

在日常工作和生活中,我们经常会遇到各种压缩文件,其中最常见的格式之一就是ZIP。ZIP文件通过压缩数据来减少文件大小,方便我们进行存储和传输。然而,对于初学者来说,如何打开ZIP文件可能会成为一个小小...

Ubuntu—解压多个zip压缩文件.zip .z01 .z02

方法将所有zip文件放在同一目录中:zip_file.z01,zip_file.z02,zip_file.z03,...,zip_file.zip。在Zip3.0版本及以上,使用下列命令:将所有zi...

如何使用7-Zip对文件进行加密压缩

7-Zip是一款开源的文件归档工具,支持多种压缩格式,并提供了对压缩文件进行加密的功能。使用7-Zip可以轻松创建和解压.7z、.zip等格式的压缩文件,并且可以通过设置密码来保护压缩包中的...

取消回复欢迎 发表评论: