Einzelnen Beitrag anzeigen

s-off
(Gast)

n/a Beiträge
 
#2

Re: warum wird ein grosser text nicht korrekt durchsucht? 0_

  Alt 11. Okt 2007, 10:38
Hallo,

warum benutzt Du nicht Reguläre Ausdrücke, und arbeitest mit Lookarounds?

Dort würdest Du als Lookbehind den Inhalt des Parameters Tag1 angeben, und als Lookahead den Inhalt des Parameters Tag2 und bekommst als Ergebnis das, was dazwischen steht.

[Edit]
Desweiteren würde ich Deine Between-Funktion so schreiben:
Delphi-Quellcode:
Function Between(Tag1, Tag2, Text: String): String;
Var
   iPos1, iPos2, iLength: Integer;
Begin
   iPos1 := Pos(LowerCase(Tag1), LowerCase(Text));
   iPos2 := Pos(LowerCase(Tag2), LowerCase(Text));

   If (iPos1 = 0) Or (iPos2 = 0) Then Begin
      Result := 'Tags nicht gefunden';
      Exit;
   End;

   iLength := iPos2 - (iPos1 + Length(Tag1));
   Result := Copy(Text, iPos1 + Length(Tag1), iLength);
End;
[/Edit]

[Edit]
Noch eine Abbruchbedingung eingebaut
[/Edit]
  Mit Zitat antworten Zitat