Python 判断字符串是否包含某个字符串

在 Python 中,如果想要判断字符串是否包含某个字符串,常用的有以下 3 种方式。

  • 使用 in 关键字。
  • 使用 find() 方法。
  • 使用正则表达式。

使用 in 关键字

在 Python 中,我们可以使用 in 关键字判断一个字符串是否包含另一个子串。

语法:

substring in string

说明:

substring 是子串,string 是原字符串。

示例 1:使用 in 判断

site = 'lvyenet'
sub = 'lvye'

if sub in site:
    print('包含')
else:
    print('不包含')

运行结果如下。

包含

使用 find() 方法

find() 是 Python 字符串的一个方法,它用于获取子串第一次出现的下标。如果找不到子串,则返回 -1。

也就是说,如果 find() 的返回值不等于 -1,那就表示字符串包含了指定子串。

语法:

string.find(sub, start, end)

说明:

find() 方法接收以下 3 个参数。

  • sub(必选):表示要查找的子串。
  • start(可选):表示查找的开始下标。
  • end(可选):表示查找的结束下标。

示例 2:使用 find() 判断

site = 'lvyenet'
sub = 'lvye'

if site.find(sub) != -1:
    print('包含')
else:
    print('不包含')

运行结果如下。

包含

使用正则表达式

在 Python 中,我们还可以使用正则表达式的 re.search() 函数来判断字符串是否包含某个字符串。

语法:

re.search(pattern, str)

说明:

re.search() 函数接收以下 2 个参数。

  • pattern(必选):是一个正则表达式。
  • str(必选):是原字符串。

re.search() 函数会从左到右搜索整个字符串,然后返回包含第一个匹配结果的对象。如果没有找到任何匹配项,则返回 None。

也就是说,如果 re.search() 的返回值不等于 None,那就表示字符串包含了指定子串。

示例 3:使用正则表达式判断

import re

site = 'lvyenet'
sub = 'lvye'

if re.search(sub, site):
    print('包含')
else:
    print('不包含')

运行结果如下。

包含

分析:

re.search() 找到匹配项时会返回一个对象(视为真),找不到时返回 None(视为假)。因此我们不需要写成 != None,而是直接放在 if 后面作为条件判断即可,这也是 Python 开发中最推荐的简洁写法。

提示: 在实际开发中,如果只是简单地判断是否包含固定子串,强烈建议优先使用 in 关键字,因为它的执行速度最快,代码也最简洁。只有在需要根据 “复杂的规则” 去查找时,才去使用正则表达式。

上一篇: Python 字符串去除空格

下一篇: Python 字典

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号