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

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判断一个字符串中是否存在多个子串中的一个.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值