IT科技类资讯

手把手教你查找字符串中包含的多个元素

时间:2010-12-5 17:23:32  作者:IT科技类资讯   来源:数据库  查看:  评论:0
内容摘要:大家好,我是Python进阶者。前言前几天在才哥交流群里,有个叫【华先生】的粉丝在Python交流群里问了一道关于Python字符串基础的问题,初步一看觉得很简单,实际上也确实不难,题目如下图所示。问

大家好,手把手教素我是查找串中Python进阶者。

前言

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

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

解决思路

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

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

解决方法

方法一

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

s = 宿舍 饿了 酒店 any([x in s for x in [宿舍, 公寓, 酒店]]) 

方法二

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

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

方法三

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

# coding: utf-8 import re def find_kw(text):     kw = [宿舍, 公寓, 酒店]     for k in kw:         f_t = re.search(k, text)  # 如果字符串中含有关键字,则返回True,否则返回None         if f_t:             return 1 if __name__ == __main__:     text = 我住在希尔顿酒店     result = find_kw(text)     if result:         print(result)  # 返回1后,打印返回值1,云南idc服务商否则不打印任何值 

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

总结

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

copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap