判断字符串中是否有某个子串 这里有六个方法 不使用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