2014-09-23 3 views
0

안녕 예상대로 나는 나에게 출력을 제공하는 두 개의 백 슬래시를 포함 할 때 백 슬래시를 문자열()빈 문자열

string sRegex = "2004\01".Replace("\\", ""); 
Response.Write(sRegex); // which is giving me 20041 

그러나 같은를 교체하는 동안 나는 문제가 있습니다 모두와 함께 백 슬래시 (\)를 교체

string sRegex = "2004\\01".Replace("\\", ""); 
Response.Write(sRegex); // which is giving me 200401 

string sReplace = "2004\01"; 
string sRegex = sReplace.Replace("\\", ""); 

첫 번째 사례를 검토 할 가능성이 있습니까? 이 같은 결과를 표시해야합니다 있도록

대신 이스케이프 시퀀스입니다으로

답변

10

\0 컴파일러가 첫 번째 백 슬래시를 취급하므로 그대로 문자열을 사용할 필요가 널 문자는 나는 또한 "`제안

string sRegex = @"2004\01".Replace("\\", ""); 
+0

입니다 2004 \\ 01 "'Dotnet은 이스케이프 시퀀스를 인식하지 않으므로. – Joe

+0

안녕하세요, 저는 직접 값을 할당 할 때 다른 값과 동일한 값을 할당 한 다음이 작업을 비교해야합니다. 내 업데이트를 보자. – Dotnet

+0

@Dotnet 예. 문자열 리터럴의 시작 부분을 추가하거나 Joe가 제안한 것처럼 문자를 이스케이프하기 위해 백 슬래시 두 개를 사용한다. –