如何在Python中检索含空格的字符串并屏蔽匹配到的对应句子
问题解决实现
原代码核心问题
- 把输入按空格拆分为单个单词后才匹配,带空格的多词关键词不可能匹配成功
- 循环逻辑错误,仅判断第一个单词就直接返回结果,后续内容完全未校验
- 未处理大小写匹配问题,无法命中大小写和关键词不一致的场景
修正后代码
import re def garbagefin(x): # 预处理输入:提取所有字母数字内容拼接,统一转小写实现大小写不敏感匹配 processed_input = " ".join(re.findall(r"[a-zA-Z0-9]+", x)).lower() # 匹配关键词库,统一转小写 keyword_list = {'masked 111', 'data', 'my add no', 'maskeddata'} for keyword in keyword_list: if keyword in processed_input: return '' return x
测试结果
和你给出的预期输出完全一致:
garbagefin("I am masked 111")→ 空值garbagefin("I am My Add No")→ 空值garbagefin("I am My add")→I am My addgarbagefin("I am My MASKEDDATA")→ 空值
内容的提问来源于stack exchange,提问作者Cuckoo
相关产品推荐
相关产品推荐

