如何用单个反斜杠替换双反斜杠

  • 本文关键字:替换 何用单 c#
  • 更新时间 :
  • 英文 :


我想用一个反斜杠代替两个反斜杠。

使用

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(@"\", @"");

最新更新