如何在Python中解析字符串?
我通过串行连接向python发送一个字符串,格式如下如何在Python中解析字符串?,python,string,parsing,Python,String,Parsing,我通过串行连接向python发送一个字符串,格式如下 &5:420:0:03713031464@ 将其解析为: (start byte) (data length) : (type of message) (priority) (data1) : (data2): (data3) (CRC) (end byte) 如何解析这些值?谢谢。看看正则表达式及其工作原理。使用正则表达式可以定义在字符串中搜索的搜索模式。例如,regexp搜索模式\&\d:\d将在字符串中搜索一个&+a数字,该
&5:420:0:03713031464@
将其解析为:
(start byte) (data length) : (type of message) (priority) (data1) : (data2): (data3) (CRC) (end byte)
如何解析这些值?谢谢。看看正则表达式及其工作原理。使用正则表达式可以定义在字符串中搜索的搜索模式。例如,regexp搜索模式\&\d:\d将在字符串中搜索一个&+a数字,该数字存储在第一个组中+:+另一个数字8存储在第二个组中。当在字符串上使用它时,它将在group1中存储前5个,在group2中存储前4个 以下是提取消息数据长度和类型的代码示例:
import re
line = "&5:420:0:03713031464@"
matchObj = re.match( r'\&(\d):(\d)', line)
if matchObj:
print ("Data length : " + matchObj.group(1))
print ("Type of message : " + matchObj.group(2))
您可以使用来尝试正则表达式。它还将向您解释搜索模式,例如我的示例
我将把其余部分留给您,让您尝试分析如何解析完整字符串。您到底想做什么?我的意思是解析这些值,您对解析结果的期望是什么?