我正在使用Python v2,我想知道您是否能分辨出一个单词是否在字符串中。
我找到了一些关于识别单词是否在字符串中的信息-使用.find,但有没有方法来执行if语句。我想要像下面这样的东西:
if string.find(word):
print("success")
谢谢你的帮助。
发布于 2011-03-16 09:13:09
问题出在哪里:
if word in mystring:
print('success')
发布于 2011-03-16 09:52:57
if 'seek' in 'those who seek shall find':
print('Success!')
但请记住,这与字符序列匹配,而不一定是整个单词-例如,'word' in 'swordsmith'
为True。如果你只想匹配整个单词,你应该使用正则表达式:
import re
def findWholeWord(w):
return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search
findWholeWord('seek')('those who seek shall find') # -> <match object>
findWholeWord('word')('swordsmith') # -> None
发布于 2011-03-16 09:13:14
find返回一个整数,表示找到搜索项的位置的索引。如果没有找到,则返回-1。
haystack = 'asdf'
haystack.find('a') # result: 0
haystack.find('s') # result: 1
haystack.find('g') # result: -1
if haystack.find(needle) >= 0:
print('Needle found.')
else:
print('Needle not found.')
https://stackoverflow.com/questions/5319922
复制相似问题