我试图找到一些例子,但没有运气。有人知道网上的一些例子吗?我想知道它在找不到时返回什么,以及如何从头到尾指定,我猜这将是 0、-1。
Joan Venge
问问题
376489 次
9 回答
112
我不确定你在找什么,你的意思是find()
?
>>> x = "Hello World"
>>> x.find('World')
6
>>> x.find('Aloha');
-1
于 2009-03-23T19:00:13.940 回答
44
你也可以使用str.index
:
>>> 'sdfasdf'.index('cc')
Traceback (most recent call last):
File "<pyshell#144>", line 1, in <module>
'sdfasdf'.index('cc')
ValueError: substring not found
>>> 'sdfasdf'.index('df')
1
于 2009-03-23T19:00:24.843 回答
30
从文档中:
str.find(sub[, start[, end]])
返回在 slice 中找到子字符串sub
s[start:end]
的字符串中的最低索引。可选参数start和end被解释为切片表示法。-1
如果未找到sub则返回。
所以,一些例子:
>>> my_str = 'abcdefioshgoihgs sijsiojs '
>>> my_str.find('a')
0
>>> my_str.find('g')
10
>>> my_str.find('s', 11)
15
>>> my_str.find('s', 15)
15
>>> my_str.find('s', 16)
17
>>> my_str.find('s', 11, 14)
-1
于 2009-03-23T19:03:50.170 回答
17
老实说,在这种情况下,我只是在命令行上打开 Python 并开始胡闹:
>>> x = "Dana Larose is playing with find()"
>>> x.find("Dana")
0
>>> x.find("ana")
1
>>> x.find("La")
5
>>> x.find("La", 6)
-1
Python 的解释器使这种实验变得容易。(对于具有类似解释器的其他语言也是如此)
于 2009-03-23T19:02:04.357 回答
6
如果要在文本中搜索字符串的最后一个实例,可以运行 rfind。
例子:
s="Hello"
print s.rfind('l')
输出:3
*无需导入
完整的语法:
stringEx.rfind(substr, beg=0, end=len(stringEx))
于 2012-09-04T06:44:36.190 回答
2
find( sub[, start[, end]])
返回找到子字符串 sub 的字符串中的最低索引,使得 sub 包含在范围 [start, end] 中。可选参数 start 和 end 被解释为切片表示法。如果未找到 sub,则返回 -1。
从文档。
于 2009-03-23T19:01:32.797 回答
0
试试这个:
with open(file_dmp_path, 'rb') as file:
fsize = bsize = os.path.getsize(file_dmp_path)
word_len = len(SEARCH_WORD)
while True:
p = file.read(bsize).find(SEARCH_WORD)
if p > -1:
pos_dec = file.tell() - (bsize - p)
file.seek(pos_dec + word_len)
bsize = fsize - file.tell()
if file.tell() < fsize:
seek = file.tell() - word_len + 1
file.seek(seek)
else:
break
于 2013-09-28T06:11:36.223 回答
0
如果 x 是一个字符串并且您搜索 y 这也是一个字符串,它们有两种情况: 案例 1: y 存在于 x 所以 x.find(y) = x 中 y 的索引(位置)。 情况 2: y 不存在,因此 x.find (y) = -1 这意味着在 x 中找不到 y。
于 2018-02-04T17:29:23.880 回答
0
尝试
myString = 'abcabc'
myString.find('a')
这会给你索引!!!
于 2020-09-30T18:39:48.013 回答