社区编辑申请
注册/登录
手把手教你查找字符串中包含的多个元素
开发 后端
本文基于粉丝针对Python字符串的提问,给出了一个利用Python基础+正则表达式处理的解决方案,完全满足了粉丝的要求。

大家好,我是Python进阶者。

前言

前几天在才哥交流群里,有个叫【华先生】的粉丝在Python交流群里问了一道关于Python字符串基础的问题,初步一看觉得很简单,实际上也确实不难,题目如下图所示。

问题:如何查找字符串中包含的多个元素。比如某个字符串中包含“宿舍”或“公寓”或“酒店”任何一个,则返回1。

解决思路

上图中【是小董呀、】大佬提出使用列表硬上,【Barry】大佬提出用正则,也有【dcpeng】大佬提出用any()、all()函数,当然了,还有很多方法可以解决,也欢迎大家留言区留言或者私信我分享答案。

这里我综合大家给的答案,整理了三个实现方案,下面一起来看看吧!

解决方法

方法一

这里给出【才哥】提供的代码,使用了any()函数,恰到好处,下面直接来看代码吧! 

  1. s = '宿舍 饿了 酒店' 
  2. any([x in s for x in ['宿舍''公寓''酒店']]) 

方法二

这里给出小小明大佬的代码,直接正则安排。

  1. import re 
  2. text = '宿舍 饿了 酒店' 
  3. re.search('宿舍|公寓|酒店', text) 

方法三

这里给出【海心广告1】大佬的代码,本质上也是正则,只不过这里完全是根据题意去行事的,如果确定存在,则返回1。

  1. # coding: utf-8 
  2. import re 
  3.  
  4.  
  5. def find_kw(text): 
  6.     kw = ['宿舍''公寓''酒店'
  7.     for k in kw: 
  8.         f_t = re.search(k, text)  # 如果字符串中含有关键字,则返回True,否则返回None 
  9.         if f_t: 
  10.             return 1 
  11.  
  12.  
  13. if __name__ == '__main__'
  14.     text = '我住在希尔顿酒店' 
  15.     result = find_kw(text) 
  16.     if result: 
  17.         print(result)  # 返回1后,打印返回值1,否则不打印任何值 

当时代码分享之后,【冫马讠成】大佬还特意问了一句,如果就是要求有返回值1,那怎么办呢?答案其实已经在上面了,当然了,结合方法一和方法二,尤其是方法一,你完全可以将any()函数替换成你自己自定义的一个返回值为1的函数,只要后面的推导式查得到不为空,就有戏。

总结

我是Python进阶者。本文基于粉丝针对Python字符串的提问,给出了一个利用Python基础+正则表达式处理的解决方案,完全满足了粉丝的要求。

 

责任编辑:姜华 来源: Python爬虫与数据挖掘
相关推荐

2022-05-11 15:08:52

驱动开发系统移植

2022-05-17 14:03:42

勒索软件远程工作

2022-05-16 10:36:08

GitHub开源项目

2022-05-18 10:58:36

LinuxKali Linux

2022-05-16 13:37:12

Sysrv僵尸网络微软

2022-05-12 23:38:19

SQL数据库字符串

2022-05-17 16:56:33

开发工具前端

2022-05-17 15:51:32

数据中心运维能力基础设施

2022-05-11 14:05:11

区块链网络安全存储

2022-05-20 16:50:33

区块链Web3加密资产

2022-05-10 16:04:40

编程语言PythonC语言

2022-05-20 08:55:02

py文件exepython

2022-04-01 20:29:26

Pandas数据存储

2022-05-15 22:21:33

WiFi热点无效WiFiWindows 11

2022-05-16 10:41:40

GNOME 42Console控制台

2022-05-12 13:40:18

勒索软件数据泄露网络安全

2022-05-20 14:08:13

Web3元宇宙区块链

2022-05-17 09:19:17

XebianLinuxLinux 发行版

2022-05-20 16:43:08

加密货币虚拟货币比特币

2022-05-09 07:08:14

LinuxBashShell

同话题下的热门内容

Python 字符串总结,建议收藏!这份Java日志格式规范,拿走不谢!Mybatis-Plus官方发布分库分表神器,一个依赖轻松搞定!后端思维篇:如何应用设计模式优化代码改变 Python 对象规则的黑魔法 Metaclass几种限流算法的Go语言实现JMeter关联之正则表达式提取器在 Go 中实现一个支持并发的 TCP 服务端

编辑推荐

使用Kotlin做开发一个月后的感想面试官问你什么是消息队列?把这篇甩给他!五大自动化测试的Python框架图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)2018年最流行的十大编程语言,其中包括你用的语言吗?
我收藏的内容
点赞
收藏

51CTO技术栈公众号