确定字符串是否包含某个词
在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():
…