2016-08-17 5 views
0

У меня длинная строка, и когда я нахожу последовательность из трех символов, состоящую из 0x0d 0x0a 0x20, я заменю эти три на 0x5c 0x6e 0x20. Проблема в том, что я не получаю соответствие после 0x0d 0x0a 0x20 в первом случае, если ниже.Как заменить эту последовательность символов

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

// Tony

+1

Что имеется во всехText? –

+0

Это просто текст – tony

+1

содержит @ "\ r \ n" ... если да, он должен передать первое условие if –

ответ

0

строка неизменна, так что вы должны назначить его на новый или тот же.

Если вы мне позвоните, вы можете изменить все экземпляры 0x0d 0x0a 0x20 в вашей строке allTest до 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); 
     } 
} 
Смежные вопросы