Python: 判断一个字符串中是否存在多个子串中的一个

文章目录

  • 1. 前言
  • 2. 判断一个字符串中是否存在某一个子串
  • 3. 判断一个字符中是否含有多个子串中的一个或几个
  • 4. 参考

1. 前言

在修改一个爬虫想让它有一个按关键词检索标题的功能时,遇到了需要判断字符串中是否存在子串的问题。

2. 判断一个字符串中是否存在某一个子串

  • 判断一个字符串中是否存在子串通常使用in关键词,如下:
>>> a = "I Love Crystal!And I Hate Tom!"
>>> b = "Crystal"
>>> c = "Tom"
>>> d = "Jessie"
>>> print(b in a)
True
>>> print(d in a)
False
>>>
  • in关键词可以用来判断一个字符串中是否含有一个子串,如"Crystal""I Love Crystal!And I Hate Tom!"中,"Jessie"不在"I Love Crystal!And I Hate Tom!"中。

3. 判断一个字符中是否含有多个子串中的一个或几个

  • 如果如果我想判断"I Love Crystal!And I Hate Tom!"是否含有"Crystal", "Tom", "Jessie"中的任意一个,只要有其中的任意一个就输出True,可使用for循环来判断:
>>> a = "I Love Crystal!And I Hate Tom!"
>>> name_list = ["Jessie", "Tom", "Crystal"]
>>> for name in name_list:
...     if name in a:
...             print("got you!")
...             break
... 
got you!
>>> 
  • 更优雅的写法可以使用内置的any函数,有些类似于MATLAB中的同名函数,会输出对一列数组是否存在会被判别为False的元素的判断:
>>> a = "I Love Crystal!And I Hate Tom!"
>>> name_list = ["Jessie", "Tom", "Crystal"]
>>> print(any(name in a for name in name_list))
True
>>> name_list = ["Jessie", "Tomi", "Rose"]
>>> print(any(name in a for name in name_list))
False
>>> 
  • 只要a中包含name_list中的某一个或者某几个关键词,结果即为True

4. 参考

  1. python判断一个字符串中是否存在多个子串中的一个.

你可能感兴趣的:(学习)