Мне нужно прочитать строки вывода, как показано ниже:
TextA Key1:Value Key2:Value (Value3, [..]) | Key3:Value, TextB Key4:Value | StringA StringB StringC Value/Value | String
- Группы всегда разделены | (string.split () отлично работает здесь)
- Каждая группа следует фиксированному шаблону, но отличается для каждой группы. Таким образом, в Group1 всегда есть две пары «ключ / значение» и третье значение (и данные, которые мне не нужны), последняя окружена фигурными скобками. Группа 2 всегда содержит две разделенные запятыми пары ключ / значение и т. Д.
- Группы могут присутствовать или не присутствовать
- Я могу определить, с какой группой я проверяю строку в группе (например, TextA).
Так что для каждой группы у меня есть своя схема для анализа и данные, которые будут возвращены. Конечно, это можно сделать с помощью множества длинных предложений if / else. Решение, которое очень просто и работает, но не оптимально.
Однако я не могу понять, как решить эту более элегантную задачу в Python.