如何在一个字符串中找到多个子字符串并将其添加到列表中?

时间:2020-06-04 19:09:18

标签: python

我正在尝试添加列表中出现的每个子字符串,因此在单词“ hello”中它将返回[2,3]作为在字符串中找到的索引值。找到每个子字符串后,我不知道如何重新迭代它。

def myFind(string,substring):

    if (string.find(substring) == -1):
        return []

    i = 0
    list = []
    while i < len(string):
        x = string.find(substring)
        list.append(x)
        i +=1
    return list
print (myFind("Hello","l"))

2 个答案:

答案 0 :(得分:1)

您可以使用模块re

import re

s = 'hello'

print([i.start() for i in re.finditer('l', s)])

输出:

[2, 3]

答案 1 :(得分:0)

您可以通过列表理解来做到这一点:

def my_find(s,sub):
    "get all indices of substring sub in string s"
    return [i for i in range(0,len(s)-len(sub)+1) if s[i:i+len(sub)] == sub]