首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何才能在doctest中仅返回完整单词匹配的TRUE?

如何才能在doctest中仅返回完整单词匹配的TRUE?
EN

Stack Overflow用户
提问于 2019-10-16 16:47:46
回答 2查看 46关注 0票数 0

我有一个文档测试,如果物种名称以quercus开头,它将返回TRUE,但如果给定的物种名称包含拼写错误(例如quercuss),它也将返回TRUE。如何确保不仅返回以物种名称开头的TRUE,而且只匹配完整的单词?

代码语言:javascript
复制
def is_an_oak(name):
    """ Returns True if name is starts with 'quercus'""" 
    return name.lower().startswith('quercus')

我尝试在单词后面留一个空格,但在脚本中进一步使用该函数时省略了结果:

代码语言:javascript
复制
def is_an_oak(name):
    """ Returns True if name is starts with 'quercus'""" 
    return name.lower().startswith('quercus ')
EN

回答 2

Stack Overflow用户

发布于 2019-10-16 16:51:04

这应该能起到作用:

代码语言:javascript
复制
def is_an_oak(name):
    """ Returns True if first word in name is 'quercus'""" 
    return name.split()[0].lower() == 'quercus'

编辑考虑操作注释:我添加的是用空格(.split())拆分字符串,然后取第一个单词([0])并对其进行比较。

票数 1
EN

Stack Overflow用户

发布于 2019-10-16 17:07:12

为了得到这个词;

代码语言:javascript
复制
import re

def is_an_oak(name):
    """ Returns Name if name is 'quercus'""" 
    return re.match("^[qQ]uercus*",name).string

获取真/假

代码语言:javascript
复制
 import re

 def is_an_oak(name):
     """ Returns True if name is 'quercus'""" 
     if re.match("^[qQ]uercus*",name):
         return True
     else:
         return False
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58409289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档