如何在python字符串中找到第一次出现的子字符串?

问题描述:

所以如果我的字符串是“伙计是一个很酷的家伙”。
我想找到“花花公子”的第一个索引:如何在python字符串中找到第一次出现的子字符串?

mystring.findfirstindex('dude') # should return 4 

什么是蟒蛇命令呢?
谢谢。

find()

>>> s = "the dude is a cool dude" 
>>> s.find('dude') 
4 
+15

这就是为什么我喜欢蟒蛇 – 2016-05-25 20:53:34

+7

它返回'-1'如果未找到 – 2017-04-27 12:49:03

快速概览:indexfind

旁边find方法有以及indexfindindex都产生相同的结果:返回第一个出现的位置,如果没有找到index将引发ValueErrorfind回报-1。在速度上,两者都有相同的基准测试结果。

s.find(t) #returns: -1, or index where t starts in s 
s.index(t) #returns: Same as find, but raises ValueError if t is not in s 

其他知识:rfindrindex

在一般情况下,发现和指数收益率最小的指数,其中传入的字符串开始,rfindrindex返回最大的索引,其中,它开始 大多数字符串搜索算法从搜索从左到右,因此以r开头的函数表示搜索发生从从右到左

所以,如果您正在搜索的元素的可能性接近尾声,而不是列表的开始,rfindrindex会更快。

s.rfind(t) #returns: Same as find, but searched right to left 
s.rindex(t) #returns: Same as index, but searches right to left 

来源:的Python:视觉快速入门指南,托比·唐纳森