我试图将双反斜杠替换为一个简单的反斜杠,但是它不起作用。下面是一张图片:
我仍然在想为什么会这样。我看到了像这样的帖子,对他们来说起作用了。 有什么建议吗?
更新
抱歉,我犯了一个错误,实际上只是一个反斜杠,只是我拼错了 替换代码如下:
string clear_patch = path.Replace(@"\\","\");
我试图将双反斜杠替换为一个简单的反斜杠,但是它不起作用。下面是一张图片:
我仍然在想为什么会这样。我看到了像这样的帖子,对他们来说起作用了。 有什么建议吗?
更新
抱歉,我犯了一个错误,实际上只是一个反斜杠,只是我拼错了 替换代码如下:
string clear_patch = path.Replace(@"\\","\");
它正在工作。在调试期间检查时,\\
未被转义。尝试将该值打印到控制台窗口或网页上。
编辑* 看起来您有些困惑。
您的路径实际上不包含任何双斜杠\\
,只是在调试时查看字符串时会对单斜杠进行转义。请考虑阅读有关转义序列的文章。
如果您想转义单个斜杠,则不要在替换中使用逐字字符串文字,例如string.Replace("\\", "-")
,这将用连字符-
替换路径中的所有单斜杠,但我不确定为什么要这样做?请注意,在调试期间检查时,这仍将显示具有\\
斜杠的路径。打印到控制台窗口将显示:
C:-dev-vsprojects-VerificaionDeFirmas-VerificaionDeFirmas-verificaciondefirmas.txt
\\
字符。 - Myrtle\\
时,字符串只包含\
。\\
,因为您正在使用字面指示符@
。string clear_path = path.Replace("\\", "-");
"\\"
而不是@"\\"
,因为这会寻找2个\
字符。\
实际字符的\\
符号。
string clear_path = path.Replace(@"\","-");
\\
,但这意味着转义字符\
。你不应该进行双重转义,你可以这样做:
string clear_path = path.Replace("\\","-")
或者
string clear_path = path.Replace(@"\","-")