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

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

------解决方案--------------------
方法构造错了,更正一下:
C# code
    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;
    }

------解决方案--------------------
C# code

 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"));
        }