2016-08-17 3 views
0

私は長い文字列を持っていて、0x0d 0x0a 0x20という3文字のシーケンスを見つけると、これらの3つを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); 
     } 
} 
関連する問題