直接find干就完了。
如果你希望找到字符串中所有子串出现的位置,而不仅仅是一个位置,你可以通过循环查找并收集所有起始位置。以下是修改后的代码:
def find_all_substring_positions(string, substring):
positions = [] # 用于存储所有匹配子串的起始位置
start = 0 # 初始化起始搜索位置
while start < len(string):
position = string.find(substring, start) # 从start位置开始查找
if position == -1: # 如果找不到子串,则结束循环
break
positions.append(position) # 存储找到的位置
start = position + 1 # 更新起始搜索位置到当前找到子串的下一个字符
return positions if positions else -1 # 如果找到了位置,返回positions列表,否则返回-1
# 示例使用
string_example = "hello world, hello again, hello there"
substring_example = "hello"
print(find_all_substring_positions(string_example, substring_example))
这段代码会返回一个列表,其中包含
substring
在
string
中出现的所有起始位置。如果没有找到子串,则返回-1。