获取字符下标

简介: 获取字符下标

该代码利用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)


下面是演示:


image.png


相关文章
|
索引
【LeetCode】917. 仅仅反转字母、387. 字符串中的第一个唯一字符
目录 917. 仅仅反转字母 387. 字符串中的第一个唯一字符
48 0
|
6月前
|
算法 测试技术 C#
【前缀和】3085. 成为 K 特殊字符串需要删除的最少字符数
【前缀和】3085. 成为 K 特殊字符串需要删除的最少字符数
|
6月前
字符和数组问题
字符和数组问题
|
6月前
|
C++ 索引
字符串中的第一个唯一字符(C++)
字符串中的第一个唯一字符(C++)
60 0
字符串转数组、数组转字符串、给第一个单词色值
字符串转数组、数组转字符串、给第一个单词色值
逆序字符串 和 字符串的逆序输出 的区别~
逆序字符串 和 字符串的逆序输出 的区别~
113 0
剑指offer 51. 字符串中第一个只出现一次的字符
剑指offer 51. 字符串中第一个只出现一次的字符
66 0
|
索引
字符串中的第一个唯一字符
字符串中的第一个唯一字符
72 0
|
存储 算法
整数反转问题(符号与越界问题)
整数反转问题(符号与越界问题)
153 0
整数反转问题(符号与越界问题)