思路1:字符串切片+find()
思路2:replace,将大串中的小串替换为'',小串的次数=(大串的长度-新串的长度)/ 小串的长度
思路3:n=len(s1.split('s2')-1) ,不推荐
思路4:容器类型直接提供count()函数用于计数 s1.count(s2)
#需求:找小串在大串中出现的次数
#1.定义字符串,表示:大字符串
s1='hellohello world hello python hello pandas hello sql'
#2.定义字符串,表示:小串
s2='hello'
#3.统计小串在大串中出现的次数
#思路1.字符串切片+find()
# count=0
# while True:
# #找小串第一次出现的位置
# idx=s1.find(s2)
# if idx==-1:
# #说明没有找到
# break
# count+=1
# #修改原始的大串
# s1=s1[idx+len(s2)::]
#
# print(f'思路1:count={count}')
# 思路2. 小串的次数=(大串的长度-新串的长度)/小串的长度
# 核心思路:把大串中的所有小串替换为'',称之为: 新串,我们看看大串减少了多个小串的长度即可,
s3=s1.replace(s2,'')
n1,n2,n3=len(s1),len(s2),len(s3)
count=(n1-n3)//n2
print(f'思路2:count={count}')
#思路3.split()方法
count=len(s1.split(s2))-1#有bug
print(f'思路3:count={count}')
#思路4.容器类型直接提供的有count()函数,可以用于计数。
count=s1.count(s2)
print(f'思路4:count={count}')
运行结果: