Pycharm (十)字符串扩展:统计小串在大串中出现的次数

 思路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}')

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值