日期:2014-05-17  浏览次数:21055 次

求正则匹配问题,从数据库连接字符串里获取用户名等
string constr = "data source=127.0.0.1;uid=sa;pwd=sa;database=pub;";
请问怎么从上面的字符串里抠出ip,用户,密码和数据库名?正则该怎么写?很迷糊


------解决方案--------------------
探讨
string constr = "data source=127.0.0.1;uid=sa;pwd=sa;database=pub;";
请问怎么从上面的字符串里抠出ip,用户,密码和数据库名?正则该怎么写?很迷糊

------解决方案--------------------
这个比我1楼的更好,直接通过Dictionary的键值获取对应值:
C# code
        string s = "data source=127.0.0.1;uid=sa;pwd=sa;database=pub;";
        Dictionary<string, string> dictionary = s.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToDictionary(x => x.Split('=')[0], x => x.Split('=')[1]);
        foreach (KeyValuePair<string, string> pair in dictionary)
            Console.WriteLine(pair.Key + ":" + pair.Value);
        Console.WriteLine("uid的值是:" + dictionary["uid"]);