如何在 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
广告