Python正则表达式 - 检查重复的单词

时间:2016-04-10 19:15:42

标签: python

如何检查以下句子是否有重复的单词并确定它们是什么? '樱桃树开花盛开将于4月下旬开始。 我用了: 进口重新 check = re.search(r'(\ b \ w +)\ s + \ 1','樱花盛开将于3月下旬开始,High Park Toronto') print check.group(1)

它只会给我"盛开"但不是“在”。

3 个答案:

答案 0 :(得分:0)

这样的事情会起作用:

>>> text =  'Cherry tree blooming blooming will begin in in late April'.split()
>>> any(i for i in text if text.count(i) > 1)
True

答案 1 :(得分:0)

使用collections.Counter

>>> my_str = 'Cherry tree blooming blooming will begin in in late April'
>>> import collections
>>> collections.Counter(my_str.split()) # splits the string on whitespace and counts the word occurance.
Counter({'blooming': 2, 'in': 2, 'late': 1, 'begin': 1, 'Cherry': 1, 'tree': 1, 'will': 1, 'April': 1})
>>> any(x for x in collections.Counter(my_str.split()).values() if x>1)
True

答案 2 :(得分:0)

定义并使用如下函数:

def check_dup(sentence):
    words = sentence.split(" ")
    dup = {}

    for word in words:
        if word in dup.keys():
            return True
        dup[word] = "present"

    return False

print check_dup(sentence)