C# 替换“\&引用;加上\/&引用;在C中#
我正在尝试将带有“/”的字符串更改为“\/”以进行正则表达式匹配 这就是我迄今为止所尝试的:C# 替换“\&引用;加上\/&引用;在C中#,c#,escaping,C#,Escaping,我正在尝试将带有“/”的字符串更改为“\/”以进行正则表达式匹配 这就是我迄今为止所尝试的: var test = "test/txt"; var testResult = test.Replace("/", @"\/"); var testResult2 = test.Replace("/", "\\/"); var testResult3 = @test.Replace("/", "\\/"); var testResult4 = test.Replace("/",@"\").Replace
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”
我已经看到了用\替换/的答案,当我尝试将/放回相同的位置时,效果很好(testResult4)
提前感谢。此代码工作正常:
var testResult = test.Replace("/", @"\/");
但当您在调试模式下观看testResult
时,它会显示“test\\\/txt”
将testResult
打印到控制台或调试,您将看到预期的结果:
Debug.WriteLine(testResult);
或
在调试中,您会得到双
\
,因为它是转义符号。所以,在watch中,您得到了test\\/txt
,但这是您期望的结果-test\/txt
您的标题谈到了替换反斜杠,但所有示例代码都替换了正斜杠。你到底对什么感兴趣?您确定您看到的是字符串的实际内容,而不仅仅是调试器显示的内容吗?请注意,调试器将向您显示一个转义值…糟糕,预览没有正确转义所有内容,我只是编辑了它。与正则表达式无关,它只执行一个简单的字符串查找和替换。要使用正则表达式,您需要使用。\n用于转义序列。therfor要有一个\必须键入两个,明白吗?:戴普,正在看调试器,嗯。非常感谢,我几分钟后就接受
Console.WriteLine(testResult);