0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python判断字符串是否包含子串

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-04-08 15:15 次阅读

1、使用 in 和 not in

innot inPython 中是很常用的关键字,我们将它们归类为 成员运算符

使用这两个成员运算符,可以让我们很直观清晰地判断一个对象是否在另一个对象中,示例如下:

>>> "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 方法,可以返回指定子串在该字符串中第一次出现的索引,如果没有找到会抛出异常,因此使用时需要注意捕获。

def is_in(full_str, sub_str):
    try:
        full_str.index(sub_str)
        return True
    except ValueError:
        return False

print(is_in("hello, python", "llo"))  # True
print(is_in("hello, python", "lol"))  # False

4、使用 count 方法

利用和 index 这种曲线救国的思路,同样我们可以使用 count 的方法来判断。

只要判断结果大于 0 就说明子串存在于字符串中。

def is_in(full_str, sub_str):
    return full_str.count(sub_str) > 0

print(is_in("hello, python", "llo"))  # True
print(is_in("hello, python", "lol"))  # False

5、通过魔法方法

在第一种方法中,我们使用 in 和 not in 判断一个子串是否存在于另一个字符中,实际上当你使用 in 和 not in 时,Python 解释器会先去检查该对象是否有 __contains__ 魔法方法。

若有就执行它,若没有,Python 就自动会迭代整个序列,只要找到了需要的一项就返回 True 。

示例如下;

>>> "hello, python".__contains__("llo")
True
>>> "hello, python".__contains__("lol")
False

这个用法与使用 in 和 not in 没有区别,但不排除有人会特意写成这样来增加代码的理解难度。

6、借助 operator

operator模块是python中内置的操作符函数接口,它定义了一些算术和比较内置操作的函数。operator模块是用c实现的,所以执行速度比 python 代码快。

在 operator 中有一个方法 contains 可以很方便地判断子串是否在字符串中。

>>> import operator
>>>
>>> operator.contains("hello, python", "llo")
True
>>> operator.contains("hello, python", "lol")
False

7、使用正则匹配

说到查找功能,那正则绝对可以说是专业的工具,多复杂的查找规则,都能满足你。

对于判断字符串是否存在于另一个字符串中的这个需求,使用正则简直就是大材小用。

import re

def is_in(full_str, sub_str):
    if re.findall(sub_str, full_str):
        return True
    else:
        return False

print(is_in("hello, python", "llo"))  # True
print(is_in("hello, python", "lol"))  # False

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 字符串
    +关注

    关注

    1

    文章

    566

    浏览量

    20384
  • python
    +关注

    关注

    53

    文章

    4753

    浏览量

    84078
收藏 人收藏

    评论

    相关推荐

    labview字符串如何转换为16进制字符串

    在LabVIEW中,将字符串转换为16进制字符串是一个常见的需求,尤其是在处理数据通信和硬件接口时。LabVIEW提供了多种方法来实现这一转换,包括使用内置函数、编写VI(Virtual
    的头像 发表于 09-04 15:54 429次阅读

    labview中常用的字符串函数有哪些?

    ) : 功能:该函数用于返回字符串包含字符个数。 应用场景:常用于需要计算字符串长度的场景,如文件命名、数据处理等。 连接字符串(Str
    的头像 发表于 09-04 15:43 141次阅读

    C语言字符串编译函数介绍

    在C语言中,字符串实际上是使用null字符O'终止的一维字符数组。因此,一个以null结尾的字符串包含了组成
    的头像 发表于 03-07 16:18 386次阅读
    C语言<b class='flag-5'>字符串</b>编译函数介绍

    labview扫描字符串怎么用

    LabVIEW 是一种流程化编程语言和开发环境,主要用于控制、测量和监测系统。在 LabVIEW 中,扫描字符串是一项常见的任务,它允许用户按照一定的模式从输入字符串中提取所需的信息。下面我将详细
    的头像 发表于 12-29 10:12 1505次阅读

    labview中怎么对字符串中的进行实时处理

    字符串操作函数: LabVIEW提供了许多函数来对字符串进行操作。这些函数包括查找、替换、插入、删除和连接等。使用这些函数,您可以实时修改字符串的内容。例如,您可以使用"字符串替换
    的头像 发表于 12-26 14:12 1276次阅读

    oracle字符串split成多个

    Oracle是一种广泛使用的关系型数据库管理系统,它提供了许多强大的功能和函数,用于处理和操作数据。其中之一就是字符串分割(split)方法,该方法用于将一个字符串按照指定的分隔符分割成多个子字符串
    的头像 发表于 12-06 09:54 4218次阅读

    oracle判断字符串包含某个字符

    包含某个字符,以及介绍使用的相关函数。 正文: 一、使用INSTR函数进行判断: INSTR函数是Oracle中最常用的字符串函数之一,它用于查找
    的头像 发表于 12-06 09:53 1.2w次阅读

    MySQL替换字符串函数REPLACE

    MySQL是目前非常流行的开源数据库管理系统之一,它具有强大的功能和性能。其中之一的字符串函数REPLACE,可以用于替换字符串中的指定字符字符串。在本文中,我们将详细讨论MySQL
    的头像 发表于 11-30 10:44 1252次阅读

    c语言字符串定义

    C语言是一种强大而广泛使用的编程语言,字符串是其中一个非常重要的概念。在C语言中,字符串是由一系列字符组成的数组,它可以表示文本、数字等各种类型的数据。在本文中,我们将详尽、详实、细致地介绍C语言
    的头像 发表于 11-24 10:02 1424次阅读

    python如何统计字符串中字母个数

    Python中统计字符串中字母个数的方法有多种,下面我会详细介绍一些常用的方法。 方法一:使用循环遍历字符串 该方法通过循环遍历字符串中的每一个字符
    的头像 发表于 11-23 16:29 1w次阅读

    python输出固定长度的字符串

    Python 是一种强大而灵活的编程语言,具有许多用于处理字符串的功能。在 Python 中,有多种方法可以输出固定长度的字符串。下面将详细介绍这些方法。 方法一:使用
    的头像 发表于 11-22 10:41 2446次阅读

    python怎么把字符串变成数字

    计算中的值。在一些应用场景中,需要将字符串转换为数字,以便进行数值计算、条件判断或数据处理等操作。在本文中,我们将详细探讨Python字符串到数字的转换方法,并讨论其在实际应用中的常
    的头像 发表于 11-22 09:47 2979次阅读

    字符串如何转换成日期型

    同编程语言将字符串转换为日期类型。 正文: 一、Python中的字符串转日期转换 在Python中,使用datetime模块可以方便地将字符串
    的头像 发表于 11-17 16:27 8971次阅读

    mysql字符串包含某个字符串

    MySQL是一种开源的关系型数据库管理系统,被广泛用于构建Web应用程序和其他大型数据驱动的应用。在进行MySQL数据库查询时,经常需要使用字符串包含操作,即判断一个字符串
    的头像 发表于 11-16 14:52 2986次阅读

    Python 如何判断字符串是否包含

    方法 使用 字符串 对象的 find 方法,如果有找到,就可以返回指定子字符串中的出现位置,如果没有找到,就返回 -1 >> >
    的头像 发表于 11-02 10:55 409次阅读