日期:2014-05-18  浏览次数:20394 次

读取字符串的问题
我收到这样一个字符串“QN=20040516010101001;ST=32;CN=1072;PW=123456;MN=88888
880000001;Flag=3;CP=&&PW=654321&&”,我现在要通过某种方法将字符串变成:
tag:QN value:20040516010101001
tag:ST value:ST
tag:CN value:1072
tag:PW value:123456
tag:MN value:88888880000001
tag:Flag value:3
tag:CP value:=&&PW=654321&&
跟HASH表一样。请大家指点一下,要简单点,不要用substring一点一点截取


------解决方案--------------------
假设你那上面 的字符串是 str
str = "tag:"+str.Replace(";","<br>tag:");
------解决方案--------------------
C# code
string s = "QN=20040516010101001;ST=32;CN=1072;PW=123456;MN=88888 
880000001;Flag=3;CP=&&PW=654321&&";

string[] s1 = s.split(';');
string[] s2;
NameValueCollection nvc = new NameValueCollection();
foreach(string str in s1)
{
s2 = str.split('=');
nvc.Add(s2[0], s2[1]);
}

------解决方案--------------------
直接两次split就可以了,第一次按";"来split开每一个键值对,第二次用"="来split开键与值。你喜欢用正则表达式也可以,"(.*?)=(.*?);"就能匹配一个键值对。
------解决方案--------------------
正则表达式。