Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String teilen :) (https://www.delphipraxis.net/140405-string-teilen.html)

BongoTrommler 17. Sep 2009 17:35


String teilen :)
 
Huu hab mal wieder eine Frage....

Also ich hab ein String, der sieht ungefähr so aus 127:53111:2


Jetzt will ich, dass der String gesplittet wird... alles vor dem ersten : wird der variablen Test1 zugewisen
...der mittlere Teil, also zwischen den : wird var2 zugewiesen ... und der letze teil soll an var3 gehen... hat jmd nen Plan wie ichs machen könnte?

Hab bisher so probiert:

Delphi-Quellcode:
 var  Text, Part1, Part2,part2: string;
    position : Byte;
    trenner : char;
begin
  Text := memo1.lines[0];
  trenner := ':';
  position := pos(trenner,text);
  if position > 1 then
    begin
       Part1 := copy(text,1,position - 1);
       Part2 := copy(text,2,Position + 1);
      part2 := copy(text,3,Position + 2);
      showmessage( Part1);
      showmessage( Part2);
      showmessage(part2);
    end;

end;

... Bis zum ersten Zeichen geht auch alles...nur danach hörts auf... bin dankbar über jede antwort :roll:

Flamingo 17. Sep 2009 17:38

Re: String teilen :)
 
Soweit ich weiß entfernt copy nicht den Teilstring sondern liest ihn lediglich aus. Um diesen Effekt zu erreichen könntest du zusätzlich noch die delete-Funktion benutzen.

jfheins 17. Sep 2009 17:49

Re: String teilen :)
 
explodeexplode

dominikkv 17. Sep 2009 17:49

Re: String teilen :)
 
Delphi-Quellcode:
var
  List: TStringList;
begin
  List := TStringList.Create;

  List.Delimitter := ':';
  List.StrictDelimitter := True;

  List.DelimittedText := '127:53111:2';
 
  showmessage(List[0]);
  showmessage(List[1]);
  showmessage(List[2]);

  List.Free;

Matze 17. Sep 2009 18:03

Re: String teilen :)
 
@Dominik: Wenn, dann machen wir's gleich richtig und verwenden Resourcenschutzblöcke. Dann wird die Stringlist auch freigegeben, wenn zwischen "Create" und "Free" ein Fehler auftreten sollte. ;)

Delphi-Quellcode:
List := TStringList.Create;
try
  // schreiben / lesen
finally
  FreeAndNil(List); // oder "List.Free;"
end;
Grüße, Matze

BongoTrommler 17. Sep 2009 18:57

Re: String teilen :)
 
kk, danke werds mal probieren


Edit: Klappts, dank dir...allerdings haste bei Delimitter nen 't' zuviel...

ansonsten wunderbar

habe dank


;);)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz