Python: 判断字符串是否以指定关键字开头

学习笔记作者:admin日期:2025-06-18点击:22

摘要:将多关键字匹配改为仅匹配字符串是否以关键字开头,并提供完整代码示例及优化建议。

问题描述

      原本的代码用于判断字符串是否包含指定的关键字,现需改为判断字符串是否以指定关键字开头。

原代码

is_ai_request = any(keyword in ask for keyword in callAIKeywords)
is_exit_request = any(keyword in ask for keyword in exitKeywords)
is_wakeup_request = any(keyword in ask for keyword in wakeUpKeywords)

修改后代码

is_ai_request = any(ask.startswith(keyword) for keyword in callAIKeywords)
is_exit_request = any(ask.startswith(keyword) for keyword in exitKeywords)
is_wakeup_request = any(ask.startswith(keyword) for keyword in wakeUpKeywords)

新增关键字

muteKeywords = ["打开电视", "关闭麦克风", "闭麦"]
is_mute_request = any(ask.startswith(keyword) for keyword in muteKeywords)

完整代码示例

callAIKeywords = ["AI", "智能", "机器人"]
exitKeywords = ["退出", "结束", "拜拜"]
wakeUpKeywords = ["你好", "在吗", "唤醒"]
muteKeywords = ["打开电视", "关闭麦克风", "闭麦"]

is_ai_request = any(ask.startswith(keyword) for keyword in callAIKeywords)
is_exit_request = any(ask.startswith(keyword) for keyword in exitKeywords)
is_wakeup_request = any(ask.startswith(keyword) for keyword in wakeUpKeywords)
is_mute_request = any(ask.startswith(keyword) for keyword in muteKeywords)

优化建议

      若需忽略大小写或去除空格,可统一处理字符串:

ask = ask.strip().lower()
is_ai_request = any(ask.startswith(keyword.lower()) for keyword in callAIKeywords)

上一篇      下一篇