Ich habe das ganze in eine Methode gepackt.
Als Eingabe in Die Methode stehen "SearchText", was das vorangestellte Wort darstellt, "SearchLeer", was das folgende Wort darstellt und bei mir der Liststring lines, der bei mir die Zeilen einer ausgelesenen Datei enthält.
Die Ausgabe ist das Wort, was Zwischen den beiden Marken "Searchtext" und "SearchLeer" steht. Du musst allerdings weise mit den Marken umgehen, da er dir sonst nur den letzten Treffer ausgibt. Anstonsten muss du eventuell einen Array/List als Ergebnis machen, dass dann alle Treffer beinhaltet anlegen.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| private string Search(string SearchText, string SearchLeer, List<string> lines) { string Ergebnis = ""; string str; int i=0; while (i!=lines.Count) { str = lines[i]; int PositionStrLeer = str.IndexOf(SearchLeer), PostitionStr = str.IndexOf(SearchText); if (PostitionStr >= 0) { PositionStrLeer = str.IndexOf(SearchLeer); while ((PostitionStr + SearchText.Length) <= (PositionStrLeer - 1)) { Ergebnis += str[PostitionStr+SearchText.Length]; PostitionStr++; } } i++; } return Ergebnis; |