Вырезание префикса из основы в Python

#python #slice #prefixes

#python #нарезать #префиксы

Вопрос:

Я хочу вырезать аффиксы из основы. Я попробовал суффиксы с помощью следующей команды, и это было нормально для ‘dishes’. Однако, когда я хочу сделать это с помощью префикса (например, ‘undo’), как я могу определить префикс в Python, чтобы получить результат un-do?

 >>> def stem(word):
    for suffix in ['ing', 'lity', 'es']:
        if word.endswith(suffix):
            return word[:-len(suffix)]
        return word
>>> re.findall(r'^(.*)(ing|lity|es)$', 'dishes')
[('dish', 'es')]
  

Ответ №1:

Что ж, почему бы не использовать регулярные выражения так же, как вы это делали?

 >>> re.findall(r'^(un|ir)(.*)$', 'undo')
[('un', 'do')]