【发布时间】:2019-07-17 13:32:13
【问题描述】:
我是C# 的新手,我发现字符串替换操作存在以下困难。
我有以下情况:
string utenteActiveDirectory = utente.UserId.Split('|')[1].Replace("\\", @"\");
其中utente.UserId.Split('|')[1] 包含以下字符串:domain\\username。
我必须用单个 \ 字符替换双 \\。但是尝试使用前一行代码它不起作用,我仍然有domain\\username 而不是预期的domain\username 结果。
为什么?怎么了?我错过了什么?我该如何解决?
【问题讨论】:
-
"\\"和@"\"是一回事。我想你想要@"\\", @"\" -
字符串 really 是否包含
\\,或者这正是调试器告诉您的内容?当字符串实际上只包含单个字符\时,它将“有用地”显示特殊字符作为它们的转义序列(因此实际上不需要替换)。 -
该代码将单个反斜杠替换为单个反斜杠。请避免对调试器显示字符串的方式感到困惑。它有利于向它们展示您在程序中编写它们的方式。所以将反斜杠加倍。点击望远镜图标再看一次。
-
@JeroenMostert 你是对的,它是调试器!!!如果你把它作为答案,我会接受它!!!
-
Replace "\\" with "\" in a string in C# 的可能重复项。这种情况发生了很多次,我知道我们必须有一个重复的somewhere。 :-)