在字符串中查找子串, 给定一个字符串 A, 要求在 A 中查找一个子串 B, 如主串 A=
“ababcabcacbab” , 在 A 中查找子串(模式串) B=” abcac”,找到后返回下标索引。
def strFind(string,subString):
#检查参数是否合理
if string==None and subString==None:
print("参数不合理")
return -1
if len(string)<len(subString):
print("不是子串")
return -1
j=0
i=0
while i<len(string) and j<len(subString):
if string[i] == subString[j]:
#如果相等,继续后面字符
i += 1
j += 1
else:
#后退回去重新比较
i = i-j+1
j = 0
if j == len(subString):
return i-len(subString)
else:
return -1
if __name__ == "__main__":
str = "ababcabcacbab"
subStr = "abcac"
print(strFind(str,subStr))