2016-04-07 20 views
-5

文字列C#ですべての単語を見つける方法:は、私はこの機能を持っている

public static string getBetween(string strSource, string strStart, string strEnd) 
{ 
    int Start, End; 
    if (strSource.Contains(strStart) && strSource.Contains(strEnd)) 
    { 
     Start = strSource.IndexOf(strStart, 0) + strStart.Length; 
     End = strSource.IndexOf(strEnd, Start); 
     return strSource.Substring(Start, End - Start); 
    } 
    else 
    { 
     return ""; 
    } 
} 

private void button9_Click(object sender, EventArgs e) 
{ 
    string text = "This is an example string and my data1 is here and my data2 is and my data3 is "; 
    richtTextBox1.Text = getBetween(text, "my", "is"); 
} 

機能は私にこの結果を与えるが:

enter image description here

私はこの結果をしたいです

データ1データ2データ3

+0

は、すべての文字列のサンプルを掲載** strSource、strStart、strEnd **あなたのコードの – rashfmnb

+0

投稿しないでください/リンクのスクリーンショット、あなたの質問に実際のコードを載せてください。 – Habib

答えて

1

このようにあなたは、ループ内でそれを行う必要があります:

public static string getBetween(string strSource, string strStart, string strEnd) 
    { 
     int Start = 0, End = 0; 
     StringBuilder stb = new StringBuilder(); 

     while (strSource.IndexOf(strStart, Start) > 0 && strSource.IndexOf(strEnd, Start + 1) > 0) 
     { 
      Start = strSource.IndexOf(strStart, Start) + strStart.Length; 
      End = strSource.IndexOf(strEnd, Start); 
      stb.Append(strSource.Substring(Start, End - Start)); 

      Start++; 
      End++; 
     } 

     return stb.ToString(); 
    } 
関連する問題