【python】实现字符串的匹配?

作者: 阿牛02 | 来源:发表于2019-07-25 11:42 被阅读0次

题目:给定主字符串S与模式字符串P,判断P是否是S的子串,如果是,那么找出P在S中第一次出现的下标。

分析:采用最直接的方法,逐个比较字符串中的字符。

code:

def match(s, p):

    slen = len(s)

    plen = len(p)

    i = 0

    j = 0

    while i < slen and j < plen:

        if list(s)[i] == list(p)[j]:

            i += 1

            j += 1

        else:

            i = i - j + 1

            j = 0

            if (i > slen - plen):

                return -1

        if j >= plen:

            return i - plen

    return -1

if __name__ == "__main__":

    s = 'xyzabcd'

    p = 'abc'

    print(match(s, p))

程序的运行结果:

3

相关文章

  • 日常笔记

    字符串匹配的KMP算法和朴素算法,及其python实现 http://blog.csdn.net/chinwufo...

  • 【python】实现字符串的匹配?

    题目:给定主字符串S与模式字符串P,判断P是否是S的子串,如果是,那么找出P在S中第一次出现的下标。 分析:采用最...

  • Python实现字符串匹配算法Boyer- Moore

    参考链接: 阮一峰 字符串匹配的Boyer-Moore算法 感谢作者分享! 文中demo使用Python3实现。 ...

  • R学习笔记(7):使用stringr处理字符串(2)

    目标:结合正则表达式,实现 确定与某种模式匹配的字符串找出匹配位置提取匹配内容替换匹配内容基于匹配拆分字符串 1....

  • python实现 字符串匹配函数

    通配符是 shell 命令中的重要功能, ? 表示匹配任意 1 个字符, *表示匹配 0 个或多个字符。 请使用你...

  • 修改字符串第一个匹配到的元素的方法

    字符串不可原地修改,不能通过赋值来实现修改元素。python中有一个.replace()方法,它可以修改所匹配到的...

  • Django URL传参

    1. 正则表达式匹配传参: 链接网页形如:/list/python/时,通过正则表达式匹配到字符串"python"...

  • 第十七章 Phton3 正则模块(标准库)

    常用特殊字符匹配内容 字符匹配: 次数匹配: Python 中使用正则的方法 match 只在整个字符串的起始位置...

  • Python中的字符串

    Python中的字符串 对Python中的字符串常用函数的笔记, 方便查用. 格式化操作符% %通过匹配不同的字符...

  • iptables配置

    1、详述iptables五链2、举例实现iptables多端口匹配、连接追踪、字符串匹配、时间匹配、并发连接限制、...

网友评论

    本文标题:【python】实现字符串的匹配?

    本文链接:https://www.haomeiwen.com/subject/pnkfrctx.html