str.find
принимает необязательный параметр end
:
str.find (sub [, start [, end]])
Возвращает самый низкий индекс в строке, где подстрока sub найдена в срезе s [start: end].Необязательные аргументы start и end интерпретируются как в обозначениях слайсов.
Итак, если вы хотите, чтобы subStr
до end до endIndex
, вы можете использовать myStr.find(subStr, 0, endIndex)
:
>>> 'hello world'.find('ello', 0, 5)
1
>>> 'hello world'.find('ello', 0, 4) # "ello" ends at index 5, so it's not found
-1
>>> 'hello world'[0:4]
'hell'
Если вы хотите от subStr
до начинать в любом месте до endIndex
, вы должны использовать myStr.find(subStr, 0, endIndex + len(subStr))
вместо:
>>> 'hello world'.find('ello', 0, 1 + len('ello'))
1
>>> 'hello world'.find('ello', 0, 0 + len('ello')) # it starts at index 1, so it's not found
-1