> > > > > "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

    文章

    552

    浏览量

    20132
  • python
    +关注

    关注

    51

    文章

    4677

    浏览量

    83468
  • 运算符
    +关注

    关注

    0

    文章

    163

    浏览量

    10947
  • 解释器
    +关注

    关注

    0

    文章

    98

    浏览量

    6423
收藏 人收藏

    评论

    相关推荐

    如何判断字符串包含的是数字

    输入一个字符串,判断字符串中只有数字没有字母等其他字符..应该怎么 做??????跪求截程序图看看........
    发表于 09-14 19:08

    问几个关于字符串处理的问题

    如何判断字符串是否为整数如何判断字符串为浮点数如何将字符串中的非0-9的数给删除希望有想法的朋友
    发表于 12-25 14:19

    字符串数值类型判断及转换

    本帖最后由 fantek 于 2013-12-25 23:13 编辑 从字符串中提取整数和浮点数字符串,并转换为对应类型的数值数组。程序源代码下载:[groupid=638]系统协同仿真[/groupid]
    发表于 12-25 23:11

    利用labview工具里导出字符串代码包含vi吗

    请问大神,利用labview工具里高级,导出字符串代码,包含vi吗
    发表于 08-18 21:24

    用labview一字符串输入(包含数字)如何变成输出纯字母类的新字符串

    想问一下,用labview一字符串输入(包含数字)如何变成输出纯字母类的新字符串 我想用公式节点去做,但要先把原字符串转换成数组吗?还是可
    发表于 10-19 00:23

    Python字符串的特点和修改字符串的常见四种方法

    Python中修改字符串的几种方法
    发表于 02-26 16:52

    Python字符串与变量名

    字符串字面量与变量名的区别Python解释器如何判别字符串字面量与变量名字符串字面量的引号不是值的一部分
    发表于 05-22 07:23

    【编测编学】零基础学python_04_字符串(删除空白)分析

    'python ' 中额外的空白,并认为它是有意义的——除非你告诉它不是这样的。空白很重要,因为你经常需要比较两个字符串是否相同。例如,一个重要的示例是,在用户登录网站时检查其用户名。但在一些简单得多的情形
    发表于 11-14 11:24

    2.2 python字符串类型

    编程时光'>>>>>> msg.strip()# 去除左右两边空格'Python编程时光'判断字符串是否以某字符串开头>>> msg
    发表于 02-17 17:12

    聊聊字符串

    就是字符格式。有些场景需要使用多个处理器协同工作,比如单片机+openmv,它们之间需要通信,可以采用字符格式的编码方式。操作字符串,无非是两件事儿:生成字符串与解析
    发表于 02-28 06:52

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

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

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

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

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

    教你7个Python判断字符串是否包含子串的方法
    的头像 发表于 08-17 10:52 4780次阅读
    教你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>子串的方法

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

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

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

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