如何搜索文本字符串判断是否包含指定词汇 自定义Python搜索函数失效排查
代码错误点梳理
- 列表追加元素逻辑错误:
list_ += string会将字符串拆分为单个字符逐一加入列表,而非将整个字符串作为独立词汇存入列表,导致列表中存储的都是单字符,无法匹配完整目标词汇。 - 末尾词汇遗漏:遍历结束后未将最后一段未遇到分隔符的字符串加入列表,如果文本末尾没有你定义的分隔符,最后一个拆分出的词汇会被直接遗漏。
修正后代码
def search(text, item): list_ = [] p = [';', '.', ' ', ',', ':'] string = '' for char in text: if char not in p: string += char else: list_.append(string) string = '' # 补充存入最后一段未处理的字符串 if string: list_.append(string) return item in list_
效果验证
你可以用测试用例验证:调用search("I love python; it's fun", "python")会返回True,符合预期。
内容的提问来源于stack exchange,提问作者PyChristian
相关产品推荐
相关产品推荐

