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