Thema: Delphi Copybefehl bei Strings

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#9

Re: Copybefehl bei Strings

  Alt 20. Jan 2007, 12:33
Hi,
ein Beispiel wurde doch schon gepostet. Du kannst mit der Funktion Pos bzw. PosEx Dir die Position von einem Teilstring in einem String ausgeben lassen (hier das Komma). Bei PosEx kannst Du zudem einen Offset angeben, so dass nur Zeichen hinter diesem Offset berücksichtigt werden. Copy kopiert wiederum einen Teilstring aus einem String heraus.
Du kannst also auf diese Art und Weise einen String anhand eines Trennzeichens in Token zerlegen, die werden in dem Beispiel in einer TStringList gespeichert. Das zweite Token wäre also der zweite Eintrag in der TStringList.

Etwas schneller (und einfacher) geht es dann noch, wenn Du auf eine fertige Lösung zurückgreifst, z.B. Explode. Lad Dir hier die Datei runter und binde die csExplode mit ein. Dort findest Du die Klasse TStringDivider, die das leistet was Du benötigst:

Delphi-Quellcode:
var token: TStringList;
    tokenizer: TStringDivider;
begin
  token := TStringList.Create;
  tokenizer := TStringDivider.Create;
  tokenizer.exlplode('Wort1,Wort2,Wort3,Wort4', ',', token);
end;
In Token würden jetzt die Strings 'Wort1', 'Wort2', 'Wort3' und 'Wort4' stehen. Token[0] wäre damit 'Wort1', Token[1] 'Wort2' usw.

Gruß Der Unwissende
  Mit Zitat antworten Zitat