如何在一条未知长度的字符串中分离出字符串?例如"Data Source=.\SQLEXPRESS; database=master;  User Id=sa;  Password=best;"中分离出master,sa,best,用户名和密码的长度不确定

解决方案 »

  1.   


     string s4 = @"Data Source=.\SQLEXPRESS; database=master; User Id=sa; Password=best;";
     Match match4 = Regex.Match(s4, @"((?<=\bdatabase=)\w+\b)");
     string r4 = match4.Groups[0].Value;//获取master
    先可以获取一个,我也只是刚学正则,一起获取还得学学
    要获取sa你把 @"((?<=\bdatabase=)\w+\b)"中的database=换成 User Id=就行了。
      

  2.   

    try...            string test = @"Data Source=.\SQLEXPRESS; database=master; User Id=sa; Password=best;";
                Regex reg = new Regex(@"(?i)database=(?<data>[^;]+);\s+User\s*Id=(?<id>[^;]+);\s+Password=(?<pwd>[^;]+);");
                Match m = reg.Match(test);
                if(m.Success)
                {
                    richTextBox2.Text = m.Groups["data"].Value + "\n" + m.Groups["id"].Value + "\n" + m.Groups["pwd"].Value;
                }