检查字符串是否为子字符串

时间:2017-08-21 01:03:12

标签: python substring

我正在尝试检查给定的字符串是否是另一个字符串的子字符串,并打印子字符串发生的字符串的索引值。

到目前为止,我有这段代码。为了降低复杂性,我使用单循环。

s1 = "robot"
s2 = "bot"
for i in range(len(s2)):
            if s1[i] == s2[i]:
               i =i +1

            print(i)

或者我正在考虑这个,

for i in range(len(s1)):
    for j in range(len(s2)):
       if s1[i] == s2[j]
                i = i+1
                j = j+1
       print(i)

我知道我们可以使用 in 关键字来解决这个问题,但我想了解其背后的逻辑。

请帮帮我。我正在努力解决这些问题。

2 个答案:

答案 0 :(得分:0)

您可以使用内置字符串方法find(),它将返回子字符串的索引,如果找不到则返回-1。

>>> "robot".find("bot")
2
>>> "robot".find("Xbot")
-1

答案 1 :(得分:0)

这是一个垃圾实现:

a = 'pleb'
b = 'youreapleb'

def find(a, b):
  for i, c in enumerate(b):
    if a == b[i: i + len(a)]:
      return i

print find(a, b)