首页 > 解决方案 > 如何在 python 中搜索字符串以查找任何出现的子字符串(包括部分匹配)?

问题描述

我正在尝试编写一个程序,它将搜索一系列字符串并在找到子字符串的任何部分时返回 true。

例如,假设我感兴趣的子字符串是:

GATCGATC

程序应返回 True:

GGTGGATCGATC

并且还应该返回 true (因为它以 GATC 结尾):

GGTGTTTTGATC

到目前为止,我有:

def matchpat(str1, str2):
    '''Find a pattern in a string'''
    if str1 in str2:
        return True
    else:
        return False

这个函数有效,但只有当整个模式存在时,它才会返回 False 部分匹配。

标签: pythonpython-3.x

解决方案


嗨,我制作了这个有效的代码。您可以使用变量将其更改为更具动态性

text = 'GGTGGATCGATC'
lookingFor = 'GATCGATC'

def method():
  print('in check')
  if lookingFor in text:
    return true
  else:
    return false

def main():
  method()
  if __name__ == "__main__":

如果你想让方法接受输入,你可以在方法定义中传递它:

def method(text, lookingFor)

推荐阅读