有一个字符串如下
string s = "UserName:zhangsan#UserPwd:test#ID:1#Address:湖南";
类似JSON格式的,就是我想做一个方法
传进一个"UserName"就能得到"zhangsan"
传进一个"UserPwd"就能得到"test"
然后顺带问下哪位有过拿C#做远程控制的经验没?
分享给小弟一下,公司最近要做一个这样的玩意。

解决方案 »

  1.   


    string s = "UserName:zhangsan#UserPwd:test#ID:1#Address:湖南";
    public string tempFun(string str)
    { if(string.IsNullOrEmpty(str)) return "";
     Regex reg=new Regex("(?i)(?<="+Regex.Escape(str)+":).*?(?=#|$)");
     return reg.Match(s).Value;
    }
      

  2.   

    protected void Page_Load(object sender, EventArgs e)
    {
    string s = "UserName:zhangsan#UserPwd:test#ID:1#Address:湖南";
    Response.Write(ABC(s));
    } private string ABC(string srcStr)
    {
    string name = "address";
    return Regex.Match(srcStr, string.Format(@"(?i)(?:^|#){0}:([^#]+)", name)).Groups[1].Value;
    }
      

  3.   

    方法构造错了,更正一下:
    string s = "UserName:zhangsan#UserPwd:test#ID:1#Address:湖南";
    protected void Page_Load(object sender, EventArgs e)
    {
    Response.Write(ABC("Address"));
    } private string ABC(string srcStr)
    {
    return Regex.Match(s, string.Format(@"(?i)(?:^|#){0}:([^#]+)", srcStr)).Groups[1].Value;
    }
      

  4.   


     private static string ReturnValue(string srcStr)
            {
                var html = @"UserName:zhangsan#UserPwd:test#ID:1#Address:湖南";
                return Regex.Match(html, @"(?i)([^:#]*)" + srcStr + ":([^:#]*)").Groups[2].Value;
            }
            static void Main(string[] args)
            {
                Console.WriteLine(ReturnValue("UserName"));
                Console.WriteLine(ReturnValue("UserPwd"));
                Console.WriteLine(ReturnValue("ID"));
                Console.WriteLine(ReturnValue("Address"));
            }