我需要能够从下面的字符串中提取值,并将它们分配给特定的变量。
[1;1HSVC_LVL={89} CALLS_OFF={966} CALLS_Q={2} CURR_DEL={67}[K[2;1HACD_HOLD={4} AN_WAIT={3} NRDY_WRAP={9} WALK_AWAY={14} FRCD_OFF={12}[K[4;1H{EOM}[K
实际的字符串稍长一些,包含大约 16 个键/值对。如上所示,它还可以包含无关字符。这个字符串每隔几秒钟就会到达一次,我每次都需要相当快地将值解析为变量。我将为每个键/值对设置一个单独的变量。
在字符串中,我需要搜索键名,即“SVC_LVL”并将键值(包含在“{}”中,即键名“SVC_LVL”的“89”)分配给一个变量。每次的值不一定是相同的长度,所以我不能简单地从字符串中删除特定数量的字符,需要在“{}”中提取值
所以我真正在寻找的是一种找到每个特定键名(我事先知道)的方法,然后从它之后的下一个“{}”中提取值,将其分配给一个值,然后继续下一个。
不确定正则表达式是否是最好的方法,以及将每个单独拉出的示例是什么。这样做16次是明智的吗?还是我应该以不同的方式看待?
谢谢你的帮助