Identify strings while removing substrings in python

后端 未结 3 1003
北恋
北恋 2021-01-21 21:29

I have a dictionary of words with their frequencies as follows.

mydictionary = {\'yummy tim tam\':3, \'milk\':2, \'chocolates\':5, \'biscuit pudding\':3, \'sugar         


        
3条回答
  •  温柔的废话
    2021-01-21 21:39

    You can update your code with regex word boundary:

    mydictionary = {'yummy tim tam':3, 'milk':2, 'chocolates':5, 'biscuit pudding':3, 'sugar':2}
    recipes_book = "For today's lesson we will show you how to make biscuit pudding using yummy tim tam milk and rawsugar"
    searcher = re.compile(r'{}'.format("|".join(map(lambda x: r'\b{}\b'.format(x), mydictionary.keys()))), flags=re.I | re.S)
    
    for match in searcher.findall(recipes_book):
        print(match)
    

    Output:

    biscuit pudding
    yummy tim tam
    milk
    

提交回复
热议问题