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


本文摘自php中文网,作者青灯夜游,侵删。

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

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

第一:使用in运算符

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

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

我们来看看这个例子:

1

2

3

4

5

6

7

>>> 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方法的实际应用。

1

2

3

4

5

6

7

8

>>> import string

>>> str = "Messi is the best soccer player"

>>> str.find("soccer")

18

>>> str.rfind("Ronaldo")

-1

>>> str.find("Messi")

0

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

例如:

1

2

3

4

5

6

>>> 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的异常。

1

2

3

4

5

6

7

8

9

10

11

12

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如何判断一个字符串是否包含指定子字符串的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python判断两个list是否是父子集关系的实例

Python之xpath语法

Python操作表格添加行

Python中none表示什么

什么是Python re.compile 函数?

Python能写桌面程序吗

Python集合如何访问

Python中关于装饰器级连的示例

Python 读入多行数据

Python docx 中文字体设置的操作方法

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...