我需要能夠從下面的字符串中提取值,並將它們分配給特定的變量。Dotnet從字符串中提取值
[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'並將鍵值(包含在'{}'中,即'89'用於鍵名'SVC_LVL')分配給變量。這些值不一定每次都是相同的長度,所以我不能簡單地從字符串中刪除特定數量的字符,需要將值拉到'{}'內。
所以我真正想要的是找到每個特定鍵名稱(我事先知道),然後從下一個「{}」中取出值,將其分配給一個值,然後繼續下一個值。
不知道是否正則表達式是做這件事的最好方法,以及將單獨拉出每個表達式的例子。這樣做是否明智16倍?或者我應該以不同的方式看待?
感謝所有幫助
'串.Split'可以完成你想要的所有提取。我不會爲此使用'正則表達式'。 – Oded
我建議發佈實際的完整示例以獲取有關字符串數據模式的更多信息。 – Jsinh
這些「無關字符」可以出現在字符串中的任何位置,還是隻出現在一個值和下一個鍵之間? –