我正在尝试将带有“/”的字符串更改为“\ /”以进行正则表达式匹配。
这是我到目前为止所尝试的:
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),这样可以正常工作。
提前致谢。
答案 0 :(得分:1)
此代码可以正常工作:
var testResult = test.Replace("/", @"\/");
但是当您在调试模式下观看testResult
时,它会显示"test\\/txt"
。
打印testResult
进行控制台或调试,您将看到预期的结果:
Debug.WriteLine(testResult);
或
Console.WriteLine(testResult);
在调试中,您获得双\
因为它是转义符号。所以,在观察中你得到test\\/txt
,但这是你期望的结果 - test\/txt
。