为了账号安全,请及时绑定邮箱和手机立即绑定

如何判断一个字符串是否包含给定的子串(有间隙)

如何判断一个字符串是否包含给定的子串(有间隙)

缥缈止盈 2023-04-25 17:19:38
例如a = 'abc123def' b = 'abcdef'我想要一个可以判断b是否在a中的函数。contains(a,b)=Trueb的表示中也允许有ps gap,egb='abc_def'但不允许使用正则表达式。
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

如果你想做的是检查 是否b是 的子序列a,你可以这样写:


def contains(a, b):

    n, m = len(a), len(b)

    j = 0

    for i in range(n):

        if j < m and a[i] == b[j]:

            j += 1

    return j == m


查看完整回答
反对 回复 2023-04-25
?
墨色风雨

TA贡献1853条经验 获得超6个赞

尝试使用列表理解:

def contains(main_string, sub_string):
    return all([i in main_string for i in sub_string])

注意:'all' 是一个内置函数,它接受一个可迭代的布尔值,如果全部为 True 则返回 try。



查看完整回答
反对 回复 2023-04-25
?
aluckdog

TA贡献1847条经验 获得超7个赞

def new_contained(a,b):

   boo = False

   c = [c for c in a]

   d =  [i for i in b]

   if len(c)<=len(d):

     for i in c:

        if i in d:

          boo = True

   return boo  


查看完整回答
反对 回复 2023-04-25
  • 3 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信