如何用单个反斜杠替换双反斜杠
本文关键字:替换 何用单 | 更新日期: 2023-09-27 18:10:16
我想用一个反斜杠代替两个反斜杠。
使用string destinationFile = System.IO.Path.Combine(msiDirectory, fileName).Replace('''', '''');
为
C: ' Hg ' temp 'LogFile.txt
我怎么能有
C: ' Hg ' temp ' LogFile.txt
使用一些答案(Replace('''''', '''')
或Replace(@'''', @''')
)在这里我得到C:'Hg'temp' LogFile.txt
尝试使用
string destinationFile = System.IO.Path.Combine(msiDirectory, fileName)
.Replace(@"''", @"'");
@
必须在字符串之前。
的例子:
string path = "C:''Hg''temp''LogFile.txt";
string output = path.Replace(@"''", @"'");
output >>>
C:'Hg'temp'LogFile.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(@"''", @"'");