如何在Python中检查多个字符串是否存在于另一个字符串中?
**在本文中,我们将看到如何在Python中检查多个字符串是否存在于另一个字符串中。 **
想象一种情况,我们必须满足50个要求才能工作。为了确定条件是否为真,我们通常使用条件语句(if、if−else、elif、嵌套if)。然而,由于if语句的过度使用,随着条件的增多,代码会变得冗长而难以阅读。
在这种情况下,Python的 any() 函数是唯一的选择,因此程序员必须使用它。
第一种方法是编写一个函数来检查任何多个字符串的存在,并使用“any”函数来检查是否存在任何情况为True,如果存在任何情况为True,则返回True,否则返回False。
示例1
在下面的例子中,我们将一个字符串作为输入并检查是否与匹配的字符串匹配。 any() 函数 −
match = ['a','b','c','d','e']
str = "欢迎来到教程点"
print("给定的字符串是")
print(str)
print("检查字符串是否包含给定的字符串")
print(match)
if any(c in str for c in match):
print("True")
else:
print("False")
输出
以上示例的输出如下所示。
给定的字符串是
欢迎来到教程点
检查字符串是否包含给定的字符串
['a', 'b', 'c', 'd', 'e'] 15.
True
示例2
在下面的例子中,我们采用与上面相同的程序,但我们采用不同的字符串并进行检查 −
match = ['a','b','c','d','e']
str = "zxvnmfg"
print("给定的字符串是")
print(str)
print("检查字符串是否包含给定的字符串")
print(match)
if any(c in str for c in match):
print("True")
else:
print("False")
输出
以上示例的输出如下所示。
给定的字符串是
zxvnmfg
检查字符串是否包含给定的字符串
['a', 'b', 'c', 'd', 'e']
False
使用正则表达式
第二种方法使用正则表达式。导入re库并安装它(如果尚未安装)以使用它。使用RegExp和 re.findall() 函数在加载re库后查看任何字符串是否存在于另一个字符串中。
示例1
在下面的例子中,我们将一个字符串作为输入和多个字符串,并检查多个字符串是否与使用正则表达式进行匹配 −
import re
match = ['a','b','c','d','e']
str = "欢迎来到教程点"
print("给定的字符串是")
print(str)
print("检查字符串是否包含给定的字符串")
print(match)
if any(re.findall('|'.join(match), str)):
print("True")
else:
print("False")
输出
以上示例的输出如下所示。 给定的字符串是 欢迎来到教程点 检查字符串是否包含给定的字符串 [‘a’, ‘b’, ‘c’, ‘d’, ‘e’] True
“`
示例2
在下面的例子中,我们采用与上面相同的程序,但我们采用不同的字符串并进行检查-
import re
match = ['a','b','c','d','e']
str = "zxvnmfg"
print("给定的字符串是")
print(str)
print("检查字符串是否包含给定的字符串")
print(match)
if any(re.findall('|'.join(match), str)):
print("True")
else:
print("False")
输出
以上示例的输出如下所示。 −
The given string is
zxvnmfg
Checking if the string contains the given strings
['a', 'b', 'c', 'd', 'e']
False
极客教程