检查字符串是否包含子字符串或其中的一部分

Check if a string contains substring or part of it

我想检查一个字符串是否包含子字符串或该子字符串的一部分,例如:

string = "Hello 13 World"
substring = "01234567890"
print has_part_of_substring(string, substring) # True: "1" and "3" contains on the string

一个更常见的任务是找到最长的公共子序列,但如果你真的想按照你在问题中所说的去做:

check if a string contains a substring or part of this substring.

考虑到这可以简化为:两个字符串中必须至少有一个字符。

如果转换为集合并找到交集,这很简单:

>>> string = "Hello 13 World"
>>> substring = "01234567890"
>>> bool(set(string) & set(substring))
True
>>> string = 'Hello 13 world'
>>> substring = 'abc'
>>> bool(set(string) & set(substring))
False

一个fast method:

any(chr in string for chr in substring)

检查 substring 中的每个字符是否在 string 中,并在找到匹配项时退出。