该代码利用find的功能和循环结构,可以实现把一段文字中要搜索的词语的下标输出出来。
设计灵感:因为find只能查找字符串中出现的第一个词语,如果后面还有相同的词语,则无法满足我的需求,因此,我发现利用循环结构可以解决该问题
代码如下:
def findword(text,word):
str_len = len(text)#获取字符串长度
pointer = 0#初始化一个指针
while True:
if word in text[pointer:pointer+str_len+1]:#判断要找到词是否在区间内
print(text.find(word, pointer, str_len - 1))#输出下标
pointer = text.find(word, pointer, str_len - 1)+len(word)#更新指针位置
else:
return #如果没有,直接结束函数
str = input('Enter a string:')
word = input('Enter the word you want to find:')
findword(str,word)
下面是演示: