C# 替换完全匹配的字符串

C# 替换完全匹配的字符串,c#,C#,我想动态替换字符串中的精确子字符串。对于ex,我想将以下字符串中的“dis.[Test Table]”替换为“dbo.[Test Table]”: 从dis中选择名称。[测试表] 请注意,我认为它可以是任何文本和任何子字符串。它将只替换完全匹配的子字符串,替换次数与替换次数相同。使用string.replace()方法 为了进一步阐述,您的示例可以写成: var newString = "SELECT Name FROM dis.[Test Table]".Replace("dis.[Test

我想动态替换字符串中的精确子字符串。对于ex,我想将以下字符串中的“dis.[Test Table]”替换为“dbo.[Test Table]”:

从dis中选择名称。[测试表]

请注意,我认为它可以是任何文本和任何子字符串。它将只替换完全匹配的子字符串,替换次数与替换次数相同。

使用string.replace()方法

为了进一步阐述,您的示例可以写成:

var newString = "SELECT Name FROM dis.[Test Table]".Replace("dis.[Test Table]","dbo.[Test Table]");

// newString will become "SELECT Name FROM dbo.[Test Table]" 

更多详细信息是

为什么不直接使用内置的
字符串。替换
?它完全符合您的描述…无法使用内置的.Replace函数。因为这也将取代dis。[测试表1],它不是完全匹配的。甚至尝试用正则表达式替换。但这也没用。我建议
fullString=fullString.Replace(“oldSubString”、“newSubString”)因为它实际上不替换字符串,而是返回一个新字符串。@R.Azmi replace()将使用精确匹配,但不会替换dis。[测试表1]请看一看工作示例谢谢@JeroenvanLangen。没错。答案已编辑(Y)。
var newString = "SELECT Name FROM dis.[Test Table]".Replace("dis.[Test Table]","dbo.[Test Table]");

// newString will become "SELECT Name FROM dbo.[Test Table]"