查找子串

# 查找子串

需求:查找一个字符串中是否包含某个关键词(查找子串问题)是很常见的操作。比如:给定一句话s,查找s中是否包含某关键词。

in 操作符

如果只是为了判断s中是否包含麦叔

  • s = '小杨小时候卖过猪'
    print('小杨' in s)
    
    s2 = '杨大爷小时候吃过猪'
    print('麦叔' in s2)
    
    

find函数

s = '小杨小时候卖过猪'
print(s.find('小杨'))
print(s.find('小杨') != -1)

s2 = '杨大爷小时候吃过猪'
print(s2.find('小杨'))
print(s2.find('小杨') != -1)


#find函数返回子串的下标,如果找不到就返回-1

index函数

  • index函数和find类似,也是返回子串在父串中的下标:

  • s = '麦叔小时候卖过猪'
    print(s.index('小杨哥'))
    
    #运行结果
    # ValueError: substring not found
    
    
    #与find不同的是,因为index是序列(sequence)的方法,在字符串,列表,元组中都可以用,而find是字符串特有的函数
    s = ["yangzi","liang","1314"]
    print(s.index('liang'))
    
    

总结:如果只是看是否存在,直接用in操作符;如果还要找出下标,用find不会报错,但是index可以应用的范围更广

posted @ 2022-12-20 17:02  小杨的冥想课  阅读(88)  评论(0编辑  收藏  举报