在C#字符串中用“ \”替换“ \\\”

我仍然不知道该怎么做。我看到了很多与此相关的帖子,但是没有一种解决方案适合我。

我有一个名为“ a \\ b”的字符串。我需要的结果是“ a \ b”。怎么做?

我有一个文本文件,该文件的数据库连接字符串指向名为-Server \ DbInstance的实例

我的目的是在文本文件中执行字符串替换-用另一个值(例如“ 10.11.12.13,1200”)替换“ Server \ DbInstance”。

所以我有:

stringToBeReplaced = @"Server\DbInstance";

newString = @"10.11.12.13, 1200";

这是问题开始的地方。我的stringToBeReplaced始终为“ Server \\

DbInstance”,当我在文本文件中搜索此字符串时,搜索失败,因为文本文件中没有字符串“ Server \\ DbInstance”;相反,它只有“

Server \ DbInstance”。那么如何将“ Server \\ DbInstance”更改为“ Server \ DbInstance”?

回答:

我怀疑您的字符串 实际上实际上 只包含一个反斜杠,但是您正在调试器中查看它,因此正在将其转义为可以在C#中用作常规字符串文字的形式。

如果在控制台或消息框中将其打印出来,它是否显示两个反斜杠或一个反斜杠?

如果您 确实 想用一个反斜杠替换一个双反斜杠,那么这样做很容易:

text = text.Replace(@"\\", @"\");

…但是我的猜测是原件无论如何都不包含双反斜杠。如果这样做没有帮助,请提供更多详细信息。

编辑:为响应已编辑的问题,您stringToBeReplaced只有一个反斜杠。确实。无论您在哪里看到两个反斜杠,该查看器都将其转义。字符串本身没有两个反斜杠。检查stringToBeReplaced.Length并计数字符。

以上是 在C#字符串中用“ \”替换“ \\\” 的全部内容, 来源链接: utcz.com/qa/425624.html

回到顶部