Python 判断一个字符串是否包含另一个子字符串和有多少个子字符串(全网最全 七种方法)

判断字符串中是否有某个子串 这里有六个方法 不使用string模块

1.in

存在则输出TRUE 不存在则输出FALSE

a = 'love you'
b = 'you'
c = 'no'
print(b in a) #True
print(c in a) #False

2.find()

从左向右查找子串 存在则输出子串首字符的索引值 不存在则输出-1

a = 'love you'
b = 'you'
c = 'no'
print(a.find(b)) #5
print(a.find(c)) #-1

3.rfind()

从左向右查找子串 存在则输出子串首字符的索引值 不存在则输出-1(从右向左查找 从后面找到的第一个子串位置)

a = 'love you'
b = 'you'
c = 'no'
print(a.rfind(b)) #5
print(a.rfind(c)) #-1

4.index()

从左向右查找子串 存在则输出子串首字符的索引值 不存在则报错 要确定子串存在于母串中

a = 'love you'
b = 'you'
c = 'no'
print(a.index(b)) #5
print(a.index(c)) #报错

5.rindex()

从右向左查找子串 存在则输出子串首字符的索引值 不存在则报错 要确定子串存在于母串中(从右向左查找 从后面找到的第一个子串位置)

a = 'love you'
b = 'you'
c = 'no'
print(a.rindex(b)) #5
print(a.rindex(c)) #报错

6.count()

计数母字符串中含有多少个子串

a = 'love you do you love me'
b = 'you'
c = 'no'
print(a.count(b)) #2
print(a.count(c)) #0

7.查找指定字符串str1包含指定子字符串str2的全部位置, 以列表形式返回

def indexstr(str1,str2):
    '''查找指定字符串str1包含指定子字符串str2的全部位置,
    以列表形式返回'''
    lenth2=len(str2)
    lenth1=len(str1)
    indexstr2=[]
    i=0
    while str2 in str1[i:]:
        indextmp = str1.index(str2, i, lenth1)
        indexstr2.append(indextmp)
        i = (indextmp + lenth2)
    return indexstr2

参考博客:https://blog.csdn.net/a66612345/article/details/105944460/

目前我即将攻读博士,如果对Python/机器学习/自然语言处理感兴趣,欢迎关注我的知乎一起学习交流:https://www.zhihu.com/people/da-shu-22-92-78

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值