查找子串
查找一个字符串中是否包含某个关键词(查找子串问题)是很常见的操作。比如:给定一句话s,查找s中是否包含关键词王嘉尔。
今天来说3个相关的方法,以及它们的区别和优缺点。
in 操作符
如果只是为了判断s中是否包含王嘉尔,最推荐的做法是用in或者not in操作符:
s = '王嘉尔小时候卖过猪'
print('王嘉尔' in s)
s2 = '王嘉尔小时候吃过猪'
print('王嘉尔' in s2)
in操作符返回True或者False,而且运行最快,是首选!
咱们加深一下,每一个Python的操作符背后都有一个魔法方法。当我们使用in操作符的时候,它调用的是__contains__方法。
如果我们自己定义一个类,也要支持in和not in运算符,只要实现__contains__方法就可以了。
find函数
s = '王嘉尔小时候卖过猪'
print(s.find(