Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
5. Dez 2006
Hier mal eine Version (eben schnell geschrieben), die auf einem stark vereinfachten String-Matching-Algorithmus von Boyer-Moore basiert. Anstatt die gefundene Position zurückzuliefern, wird der Text extrahiert und in eine TStringlist geschrieben
Procedure AlzExplode(Const aText, aPattern: String; aItems: TStrings);...
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
5. Dez 2006
Gefällt Dir mein Ansatz nicht? :gruebel: Vergleiche ihn doch mal von der Performance her mit Deinem.
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
4. Dez 2006
@SubData: Natürlich ist es marginal performanter, und Ich bezweifle, das das irgendetwas Messbares bringt.
Wie ich sehe, arbeitest Du einfach mit Pos. Das ist wesentlich langsamer als mein Ansatz.
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
4. Dez 2006
Ich musste mal eine 20MB XNL-Datei schnell parsen, und da ist es ja ähnlich. Nach einigen Versuchen bin ich hier gelandet:
Procedure Explode (Const aMessage, aSeparator : String; aItems : TStringList);
Var
i,n,i0,k : Integer;
Begin
k := Length (aSeparator);
n := Length (aMessage);
i0 := 1;