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

目录

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

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

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

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

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


Python 巡检工具 python检索_python

 

在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中字符串对象中字母的大小写转换详解》