Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中解析字符串?_Python_String_Parsing - Fatal编程技术网

如何在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数字,该

我通过串行连接向python发送一个字符串,格式如下

&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))
您可以使用来尝试正则表达式。它还将向您解释搜索模式,例如我的示例


我将把其余部分留给您,让您尝试分析如何解析完整字符串。

您到底想做什么?我的意思是解析这些值,您对解析结果的期望是什么?