python - Python如何检查一个句子是否包含某个词然后执行一个 Action ?

标签 python input

假设我向用户询问原始输入,他们说,“这是一条消息。”如果该原始输入包含“消息”一词,它将在此之后执行一个操作。我可以看看如何做到这一点吗?

最佳答案

根据@knitti 的评论,问题是你需要先将句子拆分成单词,然后检查:

term = "message" #term we want to search for
input = raw_input() #read input from user

words = input.split() #split the sentence into individual words

if term in words: #see if one of the words in the sentence is the word we want
    do_stuff()

否则,如果您有一个句子“That one is a classic”并且您试图检查它是否包含“lass”这个词,它会错误地返回 True。

当然,这仍然不是完美的,因为那样的话您可能不得不担心诸如去掉标点符号和不去掉标点符号(例如 , . 等)之类的事情,否则就会出现“That one is a classic”这样的句子。仍然会返回 False 以搜索“经典”(因为最后的时期)。这里有一篇关于从 Python 中的句子中去除标点符号的好帖子,而不是重新发明轮子:

Best way to strip punctuation from a string

还需要考虑区分大小写,因此您可能希望在进行搜索之前将 raw_input 结果和搜索词更改为小写。您只需在 str 类上使用 lower() 函数即可轻松做到这一点。

这些问题总是看起来那么简单...

关于python - Python如何检查一个句子是否包含某个词然后执行一个 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3897942/

相关文章:

python - 如何在 Django-Rest-Framework 中只深入一个领域?

python - 两个列表值之间的选定组合

html - contenteditable div 内的文件输入在 FireFox 上不起作用

c - K&R 第 5.11 节中的排序程序

javascript - 在 html5 中,使用 INPUT 类型 ='date' 与 DATE - 没关系

python - 最Pythonic的方式来搜索文本以找到问题的答案

python - 在 Django 中将多个值从 url 转换为 json

Python MySQL 队列 : run code/queries in parallel, 但单独提交

javascript - 为什么我的 JS 函数执行的是 onload 而不是 onchange?

jQuery:设置输入标签所需的属性