> > > > > "lol" in "hello, python" False 2、使用 find 方法 使用 字符串 对象的 find 方法,如果有找到子串,就可以返回指定子串在字符串中的出现位置,如果没有找到,就返回 -1 >> > "hello, python" . find ( "llo" ) != - 1 True >> > "hello, python" . find ( "" />
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

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

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-11-02 10:55 次阅读

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

    文章

    585

    浏览量

    20622
  • python
    +关注

    关注

    56

    文章

    4811

    浏览量

    85102
  • 运算符
    +关注

    关注

    0

    文章

    172

    浏览量

    11131
  • 解释器
    +关注

    关注

    0

    文章

    103

    浏览量

    6569
收藏 人收藏

    评论

    相关推荐

    bash脚本中检查字符串的方法

    我们在写 bash 脚本的时候,假如有一个字符串,我们想检查其中是否包含另一个字符串,那这个时候需要怎样做呢?
    发表于 11-24 15:25 1655次阅读
    bash脚本中检查<b class='flag-5'>子</b><b class='flag-5'>字符串</b>的方法

    python判断是否包含的7种方法

    方法 contains 可以很方便地判断是否字符串中。>>> import operator>>>>>> operator.conta
    发表于 04-08 15:15

    字符串移位包含的问题解决方案

    问题:给定字符串s和t,判断是否字符串t能通过将s移位后的字符串包含。 方法一 最简单的方法就
    发表于 11-29 10:05 1076次阅读

    python字符串拼接方式了解

    python字符串拼接的方式 在Python的实际开发中,很多都需要用到字符串拼接,python字符串
    发表于 12-06 10:09 1058次阅读

    教你7个Python判断字符串是否包含的方法

    教你7个Python判断字符串是否包含的方法
    的头像 发表于 08-17 10:52 5162次阅读
    教你7个<b class='flag-5'>Python</b><b class='flag-5'>判断</b><b class='flag-5'>字符串</b><b class='flag-5'>是否</b><b class='flag-5'>包含</b><b class='flag-5'>子</b><b class='flag-5'>串</b>的方法

    什么是复制字符串Python如何复制字符串

    连续几篇文章都在写 Python 字符串,这出乎我的意料了。但是,有的问题,不写不行,特别是那种灵机一动想到的问题,最后你发现,很多人根本不懂却又误以为自己懂了。那就继续刨根问底,探究个明白吧
    发表于 11-25 10:32 3066次阅读

    2.2 python字符串类型

    2.2 python字符串类型 1. 如何定义字符串字符串Python中最常用的数据类型之一。 使用单引号或双引号来创建
    的头像 发表于 02-17 17:08 1486次阅读

    python判断字符串是否包含

    in 和 not in 在 Python 中是很常用的关键字,我们将它们归类为 成员运算符。
    的头像 发表于 04-08 15:15 1923次阅读

    Python-字符串

    字符串就是 一字符 ,是编程语言中表示文本的数据类型,在Python中使用一对双引号 "" 或者一对单引号来定义.
    的头像 发表于 02-16 15:05 1251次阅读
    <b class='flag-5'>Python</b>-<b class='flag-5'>字符串</b>

    如何利用Java判断一个字符串是否包含某个字符

    如何利用Java通过不同的方法来判断一个字符串是否包含某个字符。 **2 ****方法** 1. .contains方法
    的头像 发表于 02-17 15:13 1586次阅读
    如何利用Java<b class='flag-5'>判断</b>一个<b class='flag-5'>字符串</b><b class='flag-5'>是否</b><b class='flag-5'>包含</b>某个<b class='flag-5'>字符</b>

    python字符串有哪些特定方法

    python字符串序列操作也适用于列表和元组。 python字符串还有独有方法,即字符串对象的函数,其他对象不可调用,只有
    的头像 发表于 02-23 15:02 770次阅读

    Python中检查字符串包含的方法

    Python 有多种处理字符串的方法。今天我们介绍如何检查一个字符串是否包含另一个字符串
    的头像 发表于 05-14 16:02 1.6w次阅读

    mysql字符串包含某个字符串

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

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

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

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

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