Extract properties of sql connection string
You can use the connection string builder class which once constructed has datasource and initial catalog properties
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder.aspx
string connStr = "Data Source=SERVERx;Initial Catalog=DBx;User ID=u;Password=p";
var csb = new SqlConnectionStringBuilder(connStr);
string dataSource = csb.DataSource;
string initialCatalog = csb.InitialCatalog;
Let the .net framework do the work for you ;) no messing about with substrings or regexs
A C# Regex solution:
String input = "Data Source=SERVER_XYZ;Initial Catalog=DATABASE_XYZ;User ID=us;Password=pass";
// Match the server:
Match serverMatch = Regex.Match(input, @"Source=([A-Za-z0-9_.]+)", RegexOptions.IgnoreCase);
// Match the database:
Match databaseMatch = Regex.Match(input, @"Catalog=([A-Za-z0-9_]+)", RegexOptions.IgnoreCase);
// Get the string
if (serverMatch.Success)
{
String server = serverMatch.Groups[1].Value;
}
Keep in mind valid characters for URLs:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=