【发布时间】:2013-04-16 21:55:31
【问题描述】:
我多次发送带有前置/后置码的消息。我希望能够在两个有效的前置/后置码之间提取消息。我当前的代码是
print(msgfile[msgfile.find(preamble) + len(preamble):msgfile.find(postamble, msgfile.find(preamble))])
问题是如果后同步码损坏,它将打印第一个有效前同步码和下一个有效后同步码之间的所有数据。接收到的文本文件示例如下:
garbagePREAMBLEmessagePOSTcMBLEgarbage
garbagePRdAMBLEmessagePOSTAMBLEgarbage
garbagePREAMBLEmessagePOSTAMBLEgarbage
它会打印出来
messagePOSTcMBLEgarbage
garbagePRdEAMBLEmessage
但我真正希望它打印的是来自第三行的消息,因为它具有有效的前置/后置码。所以我想我想要的是能够从子字符串的下一个实例中找到并索引。有没有简单的方法可以做到这一点?
编辑:我不希望我的数据是很好的离散行。我只是这样格式化它,这样更容易看到
【问题讨论】:
标签: python string search substring