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

for*_*yez 108 python string

所以,如果我的字符串是"这个家伙是一个很酷的家伙".
我想找到'dude'的第一个索引:

mystring.findfirstindex('dude') # should return 4
Run Code Online (Sandbox Code Playgroud)

什么是python命令?
谢谢.

ber*_*nie 188

find()

>>> s = "the dude is a cool dude"
>>> s.find('dude')
4
Run Code Online (Sandbox Code Playgroud)

  • 这就是我喜欢python的原因 (31认同)
  • 如果找不到,则返回"-1" (17认同)

use*_*754 21

快速概述:indexfind

find方法旁边也有index.find并且index两者都产生相同的结果:返回第一次出现的位置,但是如果没有找到index则会返回ValueErrorwhile find返回-1.Speedwise,两者都有相同的基准测试结果.

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
Run Code Online (Sandbox Code Playgroud)

其他知识: rfindrindex:

在一般情况下,发现和传入的字符串开始的地方指标返回最小的索引,rfindrindex在那里开始大部分的字符串搜索算法搜索从返回的最大索引从左到右,所以开始的功能r表示搜索从发生右向左.

因此,如果您搜索的元素的可能性接近结束而不是列表的开头,rfind或者rindex更快.

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

来源: Python:Visual QuickStart Guide,Toby Donaldson