检查字符串是否包含特定单词

时间:2016-01-17 00:14:09

标签: python-2.7

很抱歉,如果这是重复的,我环顾四周,无法找到符合我需求的任何内容。我是python的完全初学者,我想知道是否有办法分析字符串以使用内置模块查找某些单词。任何帮助表示赞赏。感谢。

2 个答案:

答案 0 :(得分:2)

要检查子字符串是否在字符串中,您可以发出

substring in mystring

演示:

>>> 'raptor' in 'velociraptorjesus'
True

通常调用字符串的__contains__方法。根据您对单词的定义,您需要一个正则表达式来检查您的单词是否被单词边界包围(即\ b)。

>>> import re
>>> bool(re.search(r'\braptor\b', 'velociraptorjesus'))
False
>>> bool(re.search(r'\braptor\b', 'veloci raptor jesus'))
True

如果你对单词的定义是它被空格包围(或什么都没有),请拆分你的字符串:

>>> 'raptor' in 'velociraptorjesus'.split()
False
>>> 'raptor' in 'veloci raptor jesus'.split()
True

如果您对单词的定义更复杂,请使用正面的后视和前瞻,即:

bool(re.search(r'(?<=foo)theword(?=bar)', 'some string'))

其中foo和bar可以是您希望在单词之前和之后找到的任何内容。

答案 1 :(得分:0)

如果函数可以在字符串中找到单词,则返回True,如果不能,则返回False

def isWordIn(word, string):
    return not(string.find(word) == -1)