以下功能:输入两个字符串s1和s2,在字符串s1中检索指定字符串s2,获取所有匹配字符串的起始字符位置。 输入格式: 输入两个字符串,每行输入一个。 输出格式: 每行输出一个匹配字符串的起始字符位置。
时间: 2024-10-20 21:18:19 浏览: 91
java实现字符串匹配求两个字符串的最大公共子串
为了实现这个功能,你可以使用Python中的内置函数`str.find()`或列表推导式结合循环来遍历每个匹配的位置。这里是Python代码的一个示例:
```python
def find_substrings(s1, s2):
# 使用find()函数查找所有子串s2在s1中的位置
positions = [i for i in range(len(s1)) if s1.startswith(s2, i)]
return positions
# 示例输入
s1 = input("请输入第一个字符串s1:")
s2 = input("请输入第二个字符串s2:")
# 调用函数并输出结果
result = find_substrings(s1, s2)
for pos in result:
print(f"{s2} 在 {s1} 的起始位置是:{pos}")
# 如果s2未在s1中找到,则输出空列表或相应提示
if not result:
print(f"'{s2}' 在 '{s1}' 中未找到。")
```
每次调用`s1.startswith(s2, i)`会检查从索引`i`开始,s1是否以s2开头。如果找到了匹配,就将该位置添加到`positions`列表中。
阅读全文