有两个字符串str1和str2,它们的长度都不超过100个字符。请编程实现在str1中查找str2的初始位置。
时间: 2023-06-06 16:06:25 浏览: 113
php函数之子字符串替换#65279; str_replace
可以使用字符串匹配算法来实现查找,常见的有暴力匹配、KMP算法、BM算法等。这里给出一个简单的暴力匹配实现:
```python
def find_substring(s, sub):
for i in range(len(s) - len(sub) + 1):
j = 0
while j < len(sub) and s[i+j] == sub[j]:
j += 1
if j == len(sub):
return i
return -1 # 未找到子串
# 测试
s = 'hello, world'
sub = 'world'
pos = find_substring(s, sub)
print(pos) # 输出 7
```
上述代码中,循环遍历s中的每个字符,在每个位置i开始检查是否与sub匹配,若匹配成功,则返回匹配到的起始位置。如果遍历完成后仍未匹配到,则返回-1表示未找到。注意,如果str2中含有通配符或正则表达式等特殊字符,则需要使用更为复杂的匹配方式。
阅读全文