如何在字符串中查找多个子字符串并将它们添加到列表中? [复制]
Posted
技术标签:
【中文标题】如何在字符串中查找多个子字符串并将它们添加到列表中? [复制]【英文标题】:How to find multiple substrings in a string and add them to a list? [duplicate] 【发布时间】:2020-09-23 21:30:02 【问题描述】:我正在尝试添加列表中出现的每个子字符串,因此在单词“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"))
【问题讨论】:
str.find()
作为额外的可选参数 start
... 所以只需通过 i
即可找到:string.find(substring, i)
这能回答你的问题吗? How to find all occurrences of a substring?@A-y 你是对的。为什么不举报?
刚刚知道如何标记 :)
【参考方案1】:
您可以使用该模块,re:
import re
s = 'hello'
print([i.start() for i in re.finditer('l', s)])
输出:
[2, 3]
【讨论】:
【参考方案2】:以下是使用列表理解的方法:
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]
【讨论】:
以上是关于如何在字符串中查找多个子字符串并将它们添加到列表中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章