标签后面的字符串完全匹配

时间:2019-09-30 17:00:03

标签: python-3.x

如果tweet包含主题标签和已定义tweetword的精确匹配,则返回True

我编写了一个函数,该函数需要(a)检测“#”的存在并且(b)将“#”之后的整个单词与输入匹配

const initialState = {
   isValid : false,
   hasError : false,
}

当我使用'example'输入运行函数时,它会给我True,但我需要完全匹配,即由于'exampleABC'<>'example'它应该为False

contains_hashtag('我有#class123的#exampleABC','example')

1 个答案:

答案 0 :(得分:2)

您应该使用正则表达式(重新存储库)。

import re

HASHTAG_SYMBOL = '#'
def contains_hashtag(tweet: str, tweetword: str) -> bool:
    if re.search(HASHTAG_SYMBOL + tweetword, tweet) is None:
        return False
    else: 
        return True

修改: 如果要在世界使用后检查它是否包含空格字符:

import re

HASHTAG_SYMBOL = '#'
def contains_hashtag(tweet: str, tweetword: str) -> bool:
    if re.search(HASHTAG_SYMBOL + tweetword + "\s", tweet) is None:
        return False
    else: 
        return True

edit2: 不要使用:

def foo():
    if condition:
        return True
    else:
        return False

您可以改用它:

def foo():
    return condition

因此,更好的解决方案是:

import re

HASHTAG_SYMBOL = '#'
def contains_hashtag(tweet: str, tweetword: str) -> bool:
    return re.search(HASHTAG_SYMBOL + tweetword, tweet) is not None