确定字符串是否包含某个词

18 投票
4 回答
95975 浏览
提问于 2025-04-17 18:53

在Python中,想要写一个语句来检查以下情况:

words = 'blue yellow'

这个语句应该是一个if语句,用来判断words里是否包含“blue”这个词。也就是说,

if words ??? 'blue':
    print 'yes'
elif words ??? 'blue':
    print 'no'

用简单的话来说就是:“如果words里有blue这个词,就说‘yes’。否则,就打印‘no’。”

4 个回答

6

你可以使用 in 或者进行明确的检查:

if 'blue ' in words:
    print 'yes'

或者

if words.startswith('blue '):
    print 'yes'

补充说明:

这两种方法只在句子不以 'blue' 结尾时有效。要检查这一点,你可以按照之前某个答案的建议来做。

if 'blue' in words.split():
    print 'yes'
6

你也可以使用 regex(正则表达式):

\bblue\b 只有在找到完全匹配的单词 'blue' 时才会返回 True,否则返回 False

In [24]: import re

In [25]: strs='blue yellow'

In [26]: bool(re.search(r'\bblue\b',strs))
Out[26]: True

In [27]: strs="nightly blues"

In [28]: bool(re.search(r'\bblue\b',strs))
Out[28]: False
29

编辑

words = 'blue yellow'

if 'blue' in words:
    print 'yes'
else:
    print 'no'

我刚刚意识到 nightly blues 这个词组里包含了 blue,但它并不是一个完整的单词。如果你不想这样的话,可以把单词列表拆分开来:

if 'blue' in words.split():
    …

撰写回答