Python:如何在中间有过滤器的列表中进行双重解析?

2024-09-27 21:30:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中有这样一个字符串:

</info>;ct=0;if="sensor";obs;rt="urn:oma:lwm2m:oma:1",</time>;ct=0;if="sensor";rt="urn:oma:lwm2m:ext:3333",...

目标是拥有并打印包含如下“obs”的资源列表:[/info,…]问题是“obs”不必位于同一位置

首先我用(,)做了一个parse,用循环for创建一个列表,然后我想用“obs”过滤,最后用“;”再次解析并删除“<&燃气轮机所有的资源

我开始用这个代码,但我不知道我应该如何继续


string = </info>;ct=0;if="sensor";obs;rt="urn:oma:lwm2m:oma:1",</time>;ct=0;if="sensor";rt="urn:oma:lwm2m:ext:3333",...

list = string.split(',')


for n in list:
  if ";obs;" in list:
     continue
  print(n) # for check it

它不起作用。Python在对象列表中找不到“obs”。有什么问题?有人能帮我吗


Tags: info列表foriftime资源sensorext
1条回答
网友
1楼 · 发布于 2024-09-27 21:30:10

你需要做if ";obs;" in n来过滤。请看一下这个简单的例子:

string = '</info>;ct=0;if="sensor";obs;rt="urn:oma:lwm2m:oma:1",</time>;ct=0;if="sensor";rt="urn:oma:lwm2m:ext:3333",...'
list = string.split(',')

for n in list:
  if ";obs;" in n:
      print(n)

我希望这有帮助

相关问题 更多 >

    热门问题