我使用多个前/后导码多次传输消息。我希望能够提取两个有效的前/后邮件之间的消息。我CURENT代码是Python下一个子字符串搜索
print(msgfile[msgfile.find(preamble) + len(preamble):msgfile.find(postamble, msgfile.find(preamble))])
的问题是,如果后同步已损坏,将打印的第一个有效的前导和下一个有效同步码之间的所有数据。一个例子收到的文本文件将是:
garbagePREAMBLEmessagePOSTcMBLEgarbage
garbagePRdAMBLEmessagePOSTAMBLEgarbage
garbagePREAMBLEmessagePOSTAMBLEgarbage
,它将打印
messagePOSTcMBLEgarbage
garbagePRdEAMBLEmessage
,但我真的希望它打印是从第三行的消息,因为它具有一个有效的前/后缓行。所以我想我想要的是能够从子字符串的下一个实例中查找和索引。是否有捷径可寻?
编辑:我不希望我的数据是在很好的离散线。我只是格式化这种方式,因此会更容易看到
这非常适用于漂亮的离散线,但我不希望数据在所有被格式化。我只是为了便于观看而这样做。 – tdfoster
你有什么结构的消息?最大长度,限制字符集,什么? –