2016-01-17 152 views
1

对不起,如果这是重复的,我环顾四周,找不到任何符合我需要的东西。我是一个完整的Python初学者,我想知道是否有一种方法来分析一个字符串来查找使用内置模块的特定单词。任何帮助表示赞赏。谢谢。检查字符串是否包含特定字

+1

我认为你正在寻找*正则表达式*。 –

+0

不要怀疑,阅读文档,寻找教程。 – furas

回答

0

这是一个函数,返回True,如果它可以在字符串中找到一个单词,并且如果它不能,则返回False

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

要检查是否子是在一个字符串,可以发出

substring in mystring 

演示:

>>> 'raptor' in 'velociraptorjesus' 
True 

这interally调用字符串的__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可以是任何你希望找到的单词之前和之后。

相关问题