Как убрать конкретное слово из предложения пользователя и использовать его в дальнейшем?

Есть бот, который должен после сообщения пользователя, например: "Загугли Мадонну" достать статью из википедии по запросу "Мадонна". Прописал так:

def filter(message):
    if "загугли".lower() in message.text.lower():
        bot.send_message(message.chat.id, getwiki(message.text))

но, тут бот гуглит по всему сообщению пользователя, если там есть слово "загугли"


Ответы (2 шт):

Автор решения: AlekseyZvr

Нашёл ответ в функции "re.sub"

    if "загугли".lower() in message.text.lower():
    result = re.sub(r'загугли', '',message.text)
    bot.send_message(message.chat.id, getwiki(result))

теперь другая проблема - убирает это слово только в точном соответствии. Как сделать, чтоб в любом регистре убирало?

result = re.sub(r'загугли'**.lower()**, '',message.text)

добавление lower не помогает

UPD: Таки нашёл ответ:

@bot.message_handler(content_types=['text']) 
def handle_text(message): 
    if "загугли".lower() in message.text.lower(): 
        result = re.sub(r'загугли', '',message.text.lower())
→ Ссылка
Автор решения: Vad Sim

Сначала вам нужно убрать слово "загугли". Для этого:

import re


def remove__googleit(s):
    return re.sub('\bзагугли\b', '', re.I)

А дальше – приведите слова в начальную форму. Для этого можно сделать одно из двух:

  1. По словарю.
  2. С помощью NLTK.
→ Ссылка