Я пытаюсь проанализировать git объект дерева с библиотекой конструкций. Но я не могу понять, как анализировать строку, пока не будет указан c символ.
Содержимое файла:
40000 directory\0 a84943494657751ce187be401d6bf59ef7a2587c
100644 pom.xml\0 97e5b6b292d248869780d7b0c65834bfb645e3ff
Сейчас я делаю:
_TREE_FORMAT = GreedyRange(Struct(
"info" / CString("UTF-8"),
"object_id" / Bytes(20)
))
Но это дает мне info="40000 directory"
. Я хотел бы отделить режим от имени файла, но я не могу использовать PaddedString, потому что режим может быть разной длины. Поэтому я хотел бы получить строку, которая заканчивается указанным символом c. Очевидно, я могу просто разделить его позже в коде, но я думаю, что было бы более элегантно использовать конструкции. Возможно ли это?