Как найти все индексы всех вхождений слова в строку

Это мой код:

sentence = input("Give me a sentence ")

word = input("What word would you like to find ")


sentence_split = sentence.split()


if word in sentence_split:
   print("have found",word,)
   print("The word comes in the position" )
else:
   print("error have not found",word)

wordfound = (sentence_split.index(word)+1)

print(wordfound)

Я могу получить индекс первого вхождения слова в строку. Как я могу получить все вхождения?

-65
источник поделиться
1 ответ

Используйте re.finditer:

import re
sentence = input("Give me a sentence ")
word = input("What word would you like to find ")
for match in re.finditer(word, sentence):
    print (match.start(), match.end())

Для word = "this" и sentence = "this is a sentence this this" это даст результат:

(0, 4)
(19, 23)
(24, 28)
+59
источник

Посмотрите другие вопросы по меткам или Задайте вопрос