字符串替换不替换c#中的双反斜杠
本文关键字:替换 字符串 | 更新日期: 2023-09-27 18:02:18
也许我遗漏了什么
我有一个变量dir
进来看起来像''''SERVERNAME''dir''subdir
我需要它看起来像''SERVERNAME'dir'subdir
我使用string。替换例程,但它没有替换双斜杠,问题是,当我尝试使用路径时,它找不到文件。
如何使用string。替换这里,以获得一个有效的路径?
dir.Replace(@"''", @"'")
应该能做到。
在c#中,反斜杠字符"'"用于转义字符串中的字符。例如,在字符串"Hello'nworld"中,"'n"表示换行符。因此,一般来说,当c#在字符串中看到"'"时,它希望将其视为特殊命令字符的一部分,而不是作为字面量"'"。
那么,你如何告诉c#你想要一个字面值的反斜杠出现在你的字符串中,它不是一个特殊命令字符的一部分?转义反斜杠。转义字符也是一个反斜杠。因此,要告诉c#你真的想要一个文字"'"出现在你的字符串中(例如在文件路径中),你可以使用两个反斜杠:" ''
"。
假设我想设置一个变量到以下路径:C:'Temp'FileDrop
在c#中,我必须这样做:
string myPath = "C:''Temp''FileDrop";
我怀疑,当你看到一个变量的值看起来像''''SERVERNAME''dir''subdir
,它正在转义反斜杠字符,所以变量的真实值是''SERVERNAME'dir'subdir
。
string myPath = @"C:'Temp'FileDrop";