Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 替换“\&引用;加上\/&引用;在C中#_C#_Escaping - Fatal编程技术网

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);