2016-08-17 2 views
0

나는 긴 문자열을 가지고 있으며, 0x0d 0x0a 0x20으로 구성된 세 문자 시퀀스를 찾을 때이 세 문자를 0x5c 0x6e 0x20으로 바꿉니다. 문제는 아래의 첫 번째 if 절에 0x0d 0x0a 0x20 뒤에 일치하는 항목이 표시되지 않는다는 것입니다. 당신이 새로운 또는 동일한에 할당해야하므로이 문자 시퀀스를 바꾸는 방법

if (allText.IndexOf(@"\r\n ") != -1) 
{ 
    allText = Regex.Replace(allText, @"\r\n ", @"\n ");          
    if (allText.IndexOf(@"\n ") != -1) 
    { 
    } 
} 

// 토니

+1

무엇이 있습니까? –

+0

그냥 텍스트가 많이 있습니다. – tony

+1

에 "@ r \ n"이 포함되어 있습니다. 예인 경우 첫 번째 조건을 전달해야합니다. –

답변

0

문자열은 변경할 수 없습니다.

정상적으로 처리되면 일반 문자열 대체 방법을 사용하여 allTest 문자열의 0x0d 0x0a 0x20의 모든 인스턴스를 0x5c 0x6e 0x20으로 변경할 수 있습니다.

string textThatShouldBeReplaced = @"0x0d 0x0a 0x20"; 
string textToReplace = @"0x5c 0x6e 0x20"; 

if (allText.IndexOf(@"\r\n ") != -1) 
    { 
     if(allText.IndexOf(@"\n ") != -1) 
     { 
      allText = allText.Replace(textThatShouldBeReplaced,textToReplace); 
     } 
} 
관련 문제