Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   String an bestimmtem Zeichen Splitten (https://www.delphipraxis.net/119073-string-bestimmtem-zeichen-splitten.html)

cRayZo 20. Aug 2008 16:46


String an bestimmtem Zeichen Splitten
 
Hi
ich möchte einen String an einer bestimmten Stelle (bestimmtes Symbol) splitten
der string säh in etwa so aus:

Delphi-Quellcode:
 text,split1,split2: string;
text:='Das hier ist=ein Beispieltext^^';

//das "=" ist hier das Trennsymbol
//sodass ich dann am Ende den String wie folgt vorliegen habe:
split1='Das hier ist'
split2='ein Beispieltext^^'
Das Sring muss nur in 2 teile gesplittet werden.
könnt ihr mir helfen?

Ich dachte an Trennzeichen suchen und dann mit copy, aber ich bin mir nicht sicher

DeddyH 20. Aug 2008 16:49

Re: String an bestimmtem Zeichen Splitten
 
Ganz recht, mit Pos() und Copy() kannst Du das machen.

LuCSteR 20. Aug 2008 16:51

Re: String an bestimmtem Zeichen Splitten
 
Da bist du schon auf dem richtigen Wege :)

Guck dir das hier mal an und du wirst noch einiges mehr können, als einen String zu splitten ;)

http://www.delphi-treff.de/tutorials...gverarbeitung/

grüße

hathor 20. Aug 2008 16:55

Re: String an bestimmtem Zeichen Splitten
 
Delphi-Quellcode:
function SplitStr(const S: string; Delim: Char; out S1, S2: string): Boolean;
  {Splits the string S at the first occurence of delimiter character Delim and
  sets S1 to the sub-string before Delim and S2 to substring following Delim.
  If Delim is found in string True is returned, while if Delim is not in string
  False is returned, S1 is set to S and S2 is set to ''.}
var
  DelimPos: Integer; // position of delimiter in source string
begin
  // Find position of first occurence of delimter in string
  DelimPos := SysUtils.AnsiPos(Delim, S);
  if DelimPos > 0 then
  begin
    // Delimiter found: do split and return True
    S1 := Copy(S, 1, DelimPos - 1);
    S2 := Copy(S, DelimPos + 1, MaxInt);
    Result := True;
  end
  else
  begin
    // Delimeter not found: return false and set S1 to whole string
    S1 := S;
    S2 := '';
    Result := False;
  end;
end;

LuCSteR 20. Aug 2008 17:06

Re: String an bestimmtem Zeichen Splitten
 
Warum werden eigentlich immer gleich die Lösungscodes gepostet. Da lernt man als Themenersteller doch garnichts dabei...

cRayZo 20. Aug 2008 17:08

Re: String an bestimmtem Zeichen Splitten
 
Vielen Dank erstmal ;)
@ LuCSteR: Doch ich lerne, weil ich versuche es zu verstehen.. btw:

bei Hathor ist der Delim ein Char, was bedeutet das, ich wusste es mal...
irgendwas mit einem zeichen aber wie genau?..:oops:

FAlter 20. Aug 2008 17:13

Re: String an bestimmtem Zeichen Splitten
 
Hi,

Delim von Delimiter --> das Trennzeichen.

Mfg
FAlter

DeddyH 20. Aug 2008 17:13

Re: String an bestimmtem Zeichen Splitten
 
Richtig, ein Char ist ein einzelnes Zeichen, im Gegensatz zu z.B. einem String.

cRayZo 20. Aug 2008 17:17

Re: String an bestimmtem Zeichen Splitten
 
Zitat:

Zitat von DeddyH
Richtig, ein Char ist ein einzelnes Zeichen, im Gegensatz zu z.B. einem String.

okay also ist dementsprechend ein char auch ohne '' zu schreiben?
Delphi-Quellcode:
var x: char;
begin x:=h;
end;
//so?
und btw: wie mache ich in einer showmessage eine neue Zeile? Da gabs irgendso ein Zeichen...
in einem normalen string geht das ja so in etwa:
Delphi-Quellcode:
string:='Zeile1'+
'zeile2';
auch in einer showmessage? (wegen der klammer halt)
ich würde es gerne in eine Prog-Zeile schreiben

DeddyH 20. Aug 2008 17:20

Re: String an bestimmtem Zeichen Splitten
 
Nein, auch ein Char musst Du in Hochkommata setzen. Und für eine neue Zeile setze einfach ein #13#10 dazwischen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:54 Uhr.
Seite 1 von 3  1 23      

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