我想修改连接字符串中“数据源”组件的值。我正在考虑以下解决方案:
使用这个正则表达式模式:
"data source\=((\w|\-)+?\\{1}\w+?)\;"
我可以获得以下字符串匹配:
Match.Groups[0].Value = "data source=MY-PC\SQLEXPRESS;"
Match.Groups[1].Value = "MY-PC\SQLEXPRES"
所以首先我想在连接字符串中找到与“data source=something;”匹配的部分,然后只替换连接字符串中的“something”。如何做到这一点?
请您参考如下方法:
如果您坚持替换 Regex,请注意 C# 无法修改构建的字符串,您需要获取一个替换了所需部分的新字符串。
var connectionString = @"data source=MY-PC\SQLEXPRESS;";
var pattern = @"(data source=)((\w|\-)+?\\\w+?)\;";
var newConnectionString = Regex.Replace(connectionString, pattern, "$1" + "something");
Console.WriteLine(newConnectionString);
