Python如何判断一个字符串是否包含指定子字符串

青灯夜游
发布: 2018-11-17 14:14:11
原创
63240人浏览过

python如何判断一个字符串是否包含指定字符串?本篇文章就给大家介绍python判断一个字符串是否包含指定子串的3种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

程序员在字符串上使用的最常见的操作之一是判断字符串是否包含指定子字符串。而Python以非常易于阅读和易于实现的方式就可以实现此功能,有3种方法可以做到这一点。

第一:使用in运算符

最简单的方法是通过python的 in 运算符。

in取两个“参数”,一个在左边,一个在右边,如果左参数包含在右参数中,则返回true。

立即学习Python免费学习笔记(深入)”;

我们来看看这个例子:

>>> str = "Messi is the best soccer player"
>>> result = "soccer" in str
>>> print result
True
>>> result = "football" in str
>>> print result
False
登录后复制

如你所见,当字符串中存在子字符串时,in运算符返回True。

否则,它返回false。

这种方法非常简单,干净,可读和惯用。

第二:使用string模块的find()/rfind()方法

你也可以使用的另一种方法是字符串的find方法。

与被计算为布尔值的in运算符不同,find方法返回一个整数。

如果子字符串存在,则此整数本质上是子字符串开头的索引,否则返回-1。

让我们看看find方法的实际应用。

>>> import string
>>> str = "Messi is the best soccer player"
>>> str.find("soccer")
18
>>> str.rfind("Ronaldo")
-1
>>> str.find("Messi")
0
登录后复制

这个方法的一个很厉害的地方:可以指定一个开始索引和一个结束索引来限制你的搜索范围。

例如:

>>> import string
>>> str = "Messi is the best soccer player"
>>> str.find("soccer", 5, 25)
18
>>> str.find("Messi", 5, 25)
-1
登录后复制

注意:判断“Messi”时,如果返回-1,因为你将搜索限制在索引5和25之间的字符串了。

第三:使用string模块的index()/rindex()方法 

index()/rindex()方法跟find()/rfind()方法相似,只不过在找不到子字符串的时候会报一个ValueError的异常。

import string
def find_string(s,t):    
    try:
        string.index(s,t)        
        return True    
    except(ValueError): 
        return False

s='nihao,shijie'
t='nihao'
result = find_string(s,t)
print result  #True
登录后复制

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

以上就是Python如何判断一个字符串是否包含指定子字符串的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号