在C#中将“\”替换为“\ /”

时间:2017-01-16 15:22:41

标签: c# escaping

我正在尝试将带有“/”的字符串更改为“\ /”以进行正则表达式匹配。

这是我到目前为止所尝试的:

var test = "test/txt";
var testResult = test.Replace("/", @"\/");
var testResult2 = test.Replace("/", "\\/");
var testResult3 = @test.Replace("/", "\\/");
var testResult4 = test.Replace("/",@"\").Replace(@"\","\\/");
var testResult5 = test.Replace("/", @"\/").Replace("\\\\", "\\");

他们都返回“test \\ / txt”,我想要“test \ / txt”。

我已经看到了替换/使用\的答案,并且当我尝试将/ back放在同一个事件中时(testResult4),这样可以正常工作。

提前致谢。

1 个答案:

答案 0 :(得分:1)

此代码可以正常工作:

var testResult = test.Replace("/", @"\/");

但是当您在调试模式下观看testResult时,它会显示"test\\/txt"

打印testResult进行控制台或调试,您将看到预期的结果:

Debug.WriteLine(testResult);

Console.WriteLine(testResult);

在调试中,您获得双\因为它是转义符号。所以,在观察中你得到test\\/txt,但这是你期望的结果 - test\/txt