我想用一个反斜杠代替两个反斜杠。
使用string destinationFile = System.IO.Path.Combine(msiDirectory, fileName).Replace('\', ''');
为
C: Hg temp 'LogFile.txt
我怎么能有
C: Hg temp LogFile.txt
使用一些答案(Replace('\\', '\')
或Replace(@'\', @'')
)在这里我得到C:Hgtemp LogFile.txt
尝试使用
string destinationFile = System.IO.Path.Combine(msiDirectory, fileName)
.Replace(@"\", @"");
@
必须在字符串之前。
的例子:
string path = "C:\Hg\temp\LogFile.txt";
string output = path.Replace(@"\", @"");
output >>>
C:HgtempLogFile.txt
字符串使用反撇号作为转义字符。通过将@
放在字符串前面,您告诉编译器您将不使用反斜杠作为转义字符,而是使用纯反斜杠。
您也可以通过转义反斜杠来实现,如下所示。
string destinationFile = System.IO.Path.Combine(msiDirectory, fileName)
.Replace("\\", "\");
注意这里的两个反斜杠表示在书写中只有一个普通的反斜杠。您可以通过将字符串打印到控制台来进行测试。
点击这里阅读更多
@jackjop已经提到了,但是你也可以尝试下面的代码,也可以工作:
var destinationFile = System.IO.Path.Combine(msiDirectory, fileName).Replace("\\", "\");
FWIW Replace("\", "")
在VB中运行良好
试试这个
string destinationFile = System.IO.Path.Combine(msiDirectory, fileName).Replace(@"\", @"");