如何在 Python 中检查多个字符串是否存在于另一个字符串中?


在本文中,我们将了解如何在 Python 中检查多个字符串是否存在于另一个字符串中。

想象一下,我们需要满足 50 个要求才能完成一项工作。为了检查条件是否为真,我们通常使用条件语句(if、if-else、elif、嵌套 if)。但是,对于如此多的条件,由于过度使用 if 语句,代码会变得很长且难以阅读。

在这样的情况下,Python 的any() 函数是唯一的选择,因此程序员必须使用它。

第一种方法是编写一个函数来检查多个字符串是否存在,然后使用 'any' 函数检查是否有任何情况为真,如果任何情况为真,则返回 True,否则返回 False。

示例 1

在下面给出的示例中,我们获取一个字符串作为输入,并使用any() 函数检查是否存在与匹配字符串的任何匹配项。

match = ['a','b','c','d','e']
str = "Welcome to Tutorialspoint"

print("The given string is")
print(str)

print("Checking if the string contains the given strings")
print(match)

if any(c in str for c in match):
   print("True")
else:
   print("False")

输出

上面示例的输出如下所示:

The given string is
Welcome to Tutorialspoint
Checking if the string contains the given strings
['a', 'b', 'c', 'd', 'e'] 15. 
True

示例 2

在下面给出的示例中,我们采用与上面相同的程序,但使用不同的字符串进行检查。

match = ['a','b','c','d','e']
str = "zxvnmfg"

print("The given string is")
print(str)

print("Checking if the string contains the given strings")
print(match)

if any(c in str for c in match):
   print("True")
else:
   print("False") 

输出

上面示例的输出如下所示:

The given string is
zxvnmfg
Checking if the string contains the given strings
['a', 'b', 'c', 'd', 'e']
False

使用正则表达式

第二种方法使用正则表达式。要使用它,请导入 re 库,如果尚未安装,请安装它。加载 re 库后,我们将使用 Regex 和re.findall() 函数来检查另一个字符串中是否存在任何字符串。

示例 1

在下面给出的示例中,我们获取一个字符串作为输入和多个字符串,并使用正则表达式检查多个字符串中的任何一个是否与该字符串匹配。

import re
match = ['a','b','c','d','e']
str = "Welcome to Tutorialspoint"

print("The given string is")
print(str)

print("Checking if the string contains the given strings")
print(match)

if any(re.findall('|'.join(match), str)):
   print("True")
else:
   print("False")

输出

上面示例的输出如下所示:

The given string is
Welcome to Tutorialspoint
Checking if the string contains the given strings
['a', 'b', 'c', 'd', 'e']
True

示例 2

在下面给出的示例中,我们采用与上面相同的程序,但使用不同的字符串进行检查。

import re
match = ['a','b','c','d','e']
str = "zxvnmfg"

print("The given string is")
print(str)

print("Checking if the string contains the given strings")
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

更新于: 2022-12-07

8K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告