c#调用webservice后,返回序列化后的字符串,如经过序列化后的字符串:
a:3:{i:0;a:3:{i:0;s:4:"dfdf";i:1;s:4:"dsfg";i:2;s:4:"gfgg";}i:1;a:3:{i:0;s:3:"jkj";i:1;s:2:"jj";i:2;s:3:"ffg";}i:2;a:3:{i:0;s:3:"sdd";i:1;s:5:"dfsdf";i:2;s:4:"gfgh";}}
,三次解析后,结果应该是这种形式, c=Array
(
[0] => Array
(
[0] => dfdf
[1] => dsfg
[2] => gfgg
)
请问各位专家、高手,如何实现将匹配的数组输出,我知道可以用正则表达式 ,怎么用?还有别的方法吗?
a:3:{i:0;a:3:{i:0;s:4:"dfdf";i:1;s:4:"dsfg";i:2;s:4:"gfgg";}i:1;a:3:{i:0;s:3:"jkj";i:1;s:2:"jj";i:2;s:3:"ffg";}i:2;a:3:{i:0;s:3:"sdd";i:1;s:5:"dfsdf";i:2;s:4:"gfgh";}}
,三次解析后,结果应该是这种形式, c=Array
(
[0] => Array
(
[0] => dfdf
[1] => dsfg
[2] => gfgg
)
请问各位专家、高手,如何实现将匹配的数组输出,我知道可以用正则表达式 ,怎么用?还有别的方法吗?
a:3:(3个ARRAY)
{
i:0;a:3:{i:0;s:4:"dfdf";i:1;s:4:"dsfg";i:2;s:4:"gfgg";}
i:1;a:3:{i:0;s:3:"jkj";i:1;s:2:"jj";i:2;s:3:"ffg";}
i:2;a:3:{i:0;s:3:"sdd";i:1;s:5:"dfsdf";i:2;s:4:"gfgh";}
}
while (a.IndexOf("\"")!=-1)
{
a = a.Substring(a.IndexOf("\""));
int i = a.IndexOf("\"",1);
string b = a.Substring(1, i - 1);
Console.WriteLine(b);//这就是想要的吧?
a = a.Substring(i+1);
}
对于字符串a:3:{i:0;a:3:{i:0;s:4:"dfdf";i:1;s:4:"dsfg";i:2;s:4:"gfgg";}i:1;a:3:{i:0;s:3:"jkj";i:1;s:2:"jj";i:2;s:3:"ffg";}i:2;a:3:{i:0;s:3:"sdd";i:1;s:5:"dfsdf";i:2;s:4:"gfgh";}}
假设数组是Array[m][n],我要的结果是判断出数组的m,n值(分别为3,3),然后找到每一个""里的值,付到数组Array[3][3]里。
最后得出Array
(
[0] => Array
(
[0] => dfdf
[1] => dsfg
[2] => gfgg
) [1] => Array
(
[0] => jkj
[1] => jj
[2] => ffg
) [2] => Array
(
[0] => sdd
[1] => dfsdf
[2] => gfgh
))
请问若想把b的值赋到一个文本框里,该怎么写?
我用this.textbox.text=b;只得到了最后一个元素gfgg。
现在的问题是我如何获取到Array[m][n]这个数组的m、n值。
+"i:1;a:3:{i:0;s:3:\"jkj\";i:1;s:2:\"jj\";i:2;s:3:\"ffg\";}"
+"i:2;a:3:{i:0;s:3:\"sdd\";i:1;s:5:\"dfsdf\";i:2;s:4:\"gfgh\";}}"; string[] str1 = System.Text.RegularExpressions.Regex.Split(a.Substring(0,a.Length-3), ";}");
Console.WriteLine(str1.Length);//这里就可以得出有几组数据。
//如string[][] t = new string[3][];
foreach (string i in str1)
{
string tmp = "\"" + i;
string[] str2 = System.Text.RegularExpressions.Regex.Split(tmp, "\"[^\"]*\"");
int l2 = str2.Length; foreach (string j in str2)
{
Console.WriteLine(j); //输出多了一个空字符串,你可以处理一下
}
}
我用的for循环
并且还犯过错,就是没考虑到""之间还可能出现"的情况,还好解决了。
http://book.csdn.net/bookfiles/801/10080124088.shtml