Mega Code Archive

 
Categories / Delphi / Strings
 

Realize a filtered substring search

{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Funktion zum Filtern mehrerer Substrings innerhalb eines Strings bezüglich zweier Trennzeichen. Aufruf: filterSubStr([String der durchsucht werden soll],[suchen von],[suchen bis],[wie oft durchsucht werden soll]) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Search for a substring positioned between 2 markers. Call: filterSubStr([Fullstring],[first mark],[second mark],[repeated searching]) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++} function filterSubStr(tmp, von, bis: string; a: Integer): string; var SubStr, bck: string; Pos1, Pos2, i: Integer; begin i := 0; while i < a do begin Pos1 := Pos(von, tmp); Pos2 := Pos(bis, tmp); SubStr := Copy(tmp, Pos1 + Length(von), Pos2 - Pos1 - Length(von)); Delete(tmp, Pos1, Pos2 - Pos1 + Length(bis)); if SubStr = '' then {nothing} else if bck = '' then bck := SubStr else bck := bck + #13#10 + SubStr; i := i + 1; end; Result := bck; end;