Я передаю сообщение с pre/postamble несколько раз. Я хочу иметь возможность извлечь сообщение между двумя действительными pre/postambles. Мой curent кодPython next substring search
print(msgfile[msgfile.find(preamble) + len(preamble):msgfile.find(postamble, msgfile.find(preamble))])
Проблема заключается в том, что если постамбул поврежден, он будет печатать все данные между первой действительной преамбулой и следующим действительным постамбул. Пример получил текстовый файл будет:
garbagePREAMBLEmessagePOSTcMBLEgarbage
garbagePRdAMBLEmessagePOSTAMBLEgarbage
garbagePREAMBLEmessagePOSTAMBLEgarbage
и напечатает
messagePOSTcMBLEgarbage
garbagePRdEAMBLEmessage
но то, что я действительно хочу, чтобы напечатать это сообщение от третьей линии, поскольку она имеет как действительный до/иноходь. Поэтому я думаю, что я хочу, чтобы иметь возможность находить и индексировать из следующего экземпляра подстроки. Есть простой способ сделать это?
Редактировать: Я не ожидаю, что мои данные будут в хороших дискретных строках. Я только что отформатированный это таким образом, поэтому было бы легче увидеть
Это хорошо работает для хороших дискретных линий, но я не ожидал, что данные должны быть отформатированы на всех. Я просто сделал это для удобства просмотра. – tdfoster
У вас есть структура сообщений? максимальная длина, ограниченный набор символов, что-нибудь? –