Я пытаюсь разобрать строку в Python для извлечения значений. Мы знаем, что строки могут быть отформатированы из переменных следующим образом:
food = {'fruit':'apple', 'vegetable':'carrot'}
sentence = "I ate a {fruit} and a {vegetable} today".format(**food)
Есть ли способ сделать обратное? Извлечь значения из известного текстового шаблона? Примерно так:
food = sentence.extract("I ate a {fruit} and a {vegetable} today")
# food gets set as dictionary {'fruit':'apple', 'vegetable':'carrot'}
- Извлечение из позиций строки недостаточно, потому что я хочу убедиться, что остальная часть предложения соответствует формату
- Разбор текста, разбивка натекст может иметь непреднамеренные последствия для больших предложений с большим количеством позиционных текстовых значений для извлечения
В идеале, при поиске подходящего однострочного текста, можно вставить лямбда-выражение без пользовательских функций. В настоящее время я делаю 2, но я чувствую, что должен быть лучший способ.