python七种方法判断字符串是否包含子串
1.使用in和notin
in和notin在Python中是很常用的关键字,我们将它们归类为成员运算符。
使用这两个成员运算符,可以很让我们很直观清晰的判断一个对象是否在另一个对象中,示例如下:
>>>"llo"in"hello,python" True >>> >>>"lol"in"hello,python" False
2.使用find方法
使用字符串对象的find方法,如果有找到子串,就可以返回指定子串在字符串中的出现位置,如果没有找到,就返回-1
>>>"hello,python".find("llo")!=-1 True >>>"hello,python".find("lol")!=-1 False >>
3.使用index方法
字符串对象有一个index方法,可以返回指定子串在该字符串中第一次出现的索引,如果没有找到会抛出异常,因此使用时需要注意捕获。
defis_in(full_str,sub_str): try: full_str.index(sub_str) returnTrue exceptValueError: returnFalse print(is_in("hello,python","llo"))#True print(is_in("hello,python","lol"))#False
4.使用count方法
利用和index这种曲线救国的思路,同样我们可以使用count的方法来判断。
只要判断结果大于0就说明子串存在于字符串中。
defis_in(full_str,sub_str): returnfull_str.count(sub_str)>0 print(is_in("hello,python","llo"))#True print(is_in("hello,python","lol"))#False
5.通过魔法方法
在第一种方法中,我们使用in和notin判断一个子串是否存在于另一个字符中,实际上当你使用in和notin时,Python解释器会先去检查该对象是否有__contains__魔法方法。
若有就执行它,若没有,Python就自动会迭代整个序列,只要找到了需要的一项就返回True。
示例如下:
>>>"hello,python".__contains__("llo") True >>> >>>"hello,python".__contains__("lol") False >>>
这个用法与使用in和notin没有区别,但不排除有人会特意写成这样来增加代码的理解难度。
6.借助operator
operator模块是python中内置的操作符函数接口,它定义了一些算术和比较内置操作的函数。operator模块是用c实现的,所以执行速度比python代码快。
在operator中有一个方法contains可以很方便地判断子串是否在字符串中。
>>>importoperator >>> >>>operator.contains("hello,python","llo") True >>>operator.contains("hello,python","lol") False >>>
7.使用正则匹配
说到查找功能,那正则绝对可以说是专业的工具,多复杂的查找规则,都能满足你。
对于判断字符串是否存在于另一个字符串中的这个需求,使用正则简直就是大材小用。
importre defis_in(full_str,sub_str): ifre.findall(sub_str,full_str): returnTrue else: returnFalse print(is_in("hello,python","llo"))#True print(is_in("hello,python","lol"))#False
以上就是python七种方法判断字符串是否包含子串的详细内容,更多关于python字符串的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。