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 schnell und einfach zerlegen? (https://www.delphipraxis.net/44382-string-schnell-und-einfach-zerlegen.html)

DiscMix 18. Apr 2005 20:11


String schnell und einfach zerlegen?
 
Hallo,

ich habe einen String den ich zerlegen möchte.

BSP: O|1|Bezeichnung|Befehl|Pfad

wobei ich eben nicht weis wie lang die einzelnen "Abschnitte"
sein werden.

Ich dachte ich könnte das irgendwie mit eine Function machen,
mir fehlt aber der irgendwie der Ansatz.

In der Function wollte ich so etwas wie

repeat
inc(h)
until (s[h]='|') or (h >= Length(s));

s=Der String
h=Ein Zähler pro Buchstabe.

Wie kann ich die Function am besten so aufbauen, damit
ich diese für jeden "Abschnitt" benutzen kann?

Danke und Gruss aus Hamburg
Marco

Torpedo 18. Apr 2005 20:11

Re: String schnell und einfach zerlegen?
 
explodeexplode

Ultimator 18. Apr 2005 20:12

Re: String schnell und einfach zerlegen?
 
ExplodeExplode ?

//edit: Der rote Kasten is doch nix halbes und nix ganzes, war schon wieder net da :? :mrgreen:

mr47 18. Apr 2005 20:21

Re: String schnell und einfach zerlegen?
 
Alternativ ein TStringlist erstellen, Delemiter auf '|' setzen und dann
Delphi-Quellcode:
StringList.DelemitedString:='String|Der|Zerlegt|werden|Soll';
machen. Dann sind die einzelnen Elemente der Stringlist so

1. Element 'String'
2. Element 'Der'
3. Element 'Zerlegt'

und so weiter....

mfg

PS: Ich gebe KEINE Garantie das die oben genannten Syntaxen (<- :mrgreen: ) richtig sind!

DiscMix 18. Apr 2005 20:27

Re: String schnell und einfach zerlegen?
 
danke, habe ich fast verstanden...
wie greife ich auf die einzelnen abschnitte zu?

Ich meine Explode

yankee 18. Apr 2005 22:23

Re: String schnell und einfach zerlegen?
 
Delphi-Quellcode:
//wenn du auf mehrer Abschnitte zugreifen willst so:
var temp:TStringDynArray;
begin
  temp:=Explode([params]);
//führt zu:
  temp[0] ='String'
  temp[1] ='der'
//usw.

//bei nur einem entscheidenen Teil geht auch so:
Explode([params])[0] ='String';
//usw.
end;
und vergiss nicht ganz oben im "tpe"-Bereich zu dklarieren:
Delphi-Quellcode:
TStringDynArray =array of string;

DiscMix 19. Apr 2005 08:35

Re: String schnell und einfach zerlegen?
 
Danke für die Antworten.
Ich habe mich für TStringList entschieden.
Ging einfach und schnell ;)

Gruss
Marco


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 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