python - 在Python中解析\x02和\x03之间的行

标签 python string list find substring

我遇到了一个让我头疼的严重问题。

我有一个具有不同测量值的传感器日志文件,它们都出现在子字符串“\x02”和“\x03”之间。但我的问题就从这里开始。我如何才能将子字符串之间的所有值放入新列表中。由于测量有很多,而不仅仅是一种,因此它应该提供与“\x02”和“\x03”一样多的列表。

为了让您快速了解日志文件在我将其读入 python 后的情况: ['\x02sEA LMDscandata 1\x03\x02sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03']

我确实尝试了很多(搜索子字符串、搜索索引等..)但无法自拔,我期待您的建议。

谢谢

编辑1:

我需要\x02 和\x03 语句之间的单独列表。例如使用:

['\x02sEA LMDscandata 1\x03\x02sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03\x02sSN LMDscandata 0 1 10B2E77 0 0 5BB 6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03']

所以第一个列表应该看起来像'list1= [sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1'],第二个列表也一样。我需要一个 for 循环,但我无法想象如何实现它..

最佳答案

listfromreadlines = ['\x02sEA LMDscandata 1\x03\x02sSN LMDscandata 0 1 10B2E77 0 0 5BB6 E4FC 5FA60C99 5FA8C92F F0 0 0 0 F5B2 3E8 1\x03']
l1 = listfromreadlines[0]

items = [x.replace('\x02', "").replace('\x03', "") for x in l1.split('\x03\x02')] 

# Thinking you might have sub items between the delimiters, I can only assume
# they are split by spaces:
subitems = [x.split(" ") for x in items]

关于python - 在Python中解析\x02和\x03之间的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50783262/

相关文章:

python - DataFrame to_sql 使用错误的字符集进行替换

Python ssl 套接字服务器 SSLV3_ALERT_CERTIFICATE_UNKNOWN 问题

string - 识别与 R 中略有不同的字符串

java - 使用 Item 类的 ArrayList 的销售点应用程序。如何从列表中返回孤立/特定的值?

c++ - 在 C++ 标准中,当我同时使用 list.begin() 作为 list.splice() 的第一个和第三个参数时,为什么会出现无限循环

java - 像python中的os.walk一样使用Java定位硬盘中的文件

python - 将具有多种拼写的单词映射到关键字列表的最佳方法?

java - 如何在字符串文本中搜索单词,这个单词在java中以 "."或 ","结尾

c# - 如何在 Linux 上的 C# 中安全地将字节数组转换为字符串(在单声道下)?

python - networkx - 使用两个列表绘制不同颜色的节点