对于字符串"type=usrp2,addr=192.168.10.1,name=,serial=21010023type=usrp2,addr=192.168.10.5,name=,serial=211318038",需要根据type将字符串分为两组,然后再根据“,”分组。
处理方法:
1、先根据type确定分为设备组数,将type替换为空,使用原字符串-替换后的字符串/type的长度,得到设备可以分为几组。
1 string l_str1 = "type=usrp2,addr=192.168.10.1,name=,serial=21010023type=usrp2,addr=192.168.10.5,name=,serial=211318038"; 2 int deviceNumber = (l_str1.Length - l_str1.Replace("type",string.Empty).Length)/"type".Length;
2、根据type和设备组数进行分组
1 string[] l_strArray = new string[l_str1.length]; 2 string l_str2 = l_str1; 3 4 for(int i = 0;i < deviceNumber;i++) 5 { 6 if(i == deviceNumber - 1) 7 { 8 l_strArray[i] = l_str2; 9 } 10 else 11 { 12 l_strArray[i] = l_str2.Substring(0,l_str2.IndexOf("type",5)); 13 } 14 l_str2 = l_str1.Replace(l_strArray[i],""); 15 }