请你完成代码:编写一个程序,判定一个字符串是否是另一个字符串的子串,若是,则返回子串在主串中的位置,要求不能使用系统函数
时间: 2024-02-18 14:01:44 浏览: 53
判断一个字符串是不是出现在另一个字符串中
4星 · 用户满意度95%
好的,以下是一个简单的实现:
```python
def is_substring(s, sub):
for i in range(len(s) - len(sub) + 1):
if s[i:i+len(sub)] == sub:
return i
return -1
```
其中,参数 `s` 代表主串,参数 `sub` 代表子串,函数返回子串在主串中的位置,如果不是子串则返回 -1。
具体实现是通过遍历主串中所有可能的子串,判断是否与子串 `sub` 相等。如果相等,则返回此时子串在主串中的起始位置,否则继续遍历。如果遍历完所有子串都没有匹配成功,则返回 -1 表示不是子串。
请注意,这个实现并不高效,对于大型字符串可能会较慢。在实际使用中,可以考虑使用更高效的算法,如 KMP 算法等。
阅读全文