![]() |
Delphi-Version: 6
posex oder pos, fester trenner im string
Hallo zusammen,
ich habe ein Problem und hoffe hier auf die Lösung, mit Delphi hatte ich bisher nichts am Hut, muss aber in einem Projekt eine Lösung für ein Problem finden. Ich habe einen string indem durch @@ die für mich interessanten Werte stecken, wie komme ich hier dran? Habe schon mit posex rum experementiert, gebe es aber auf.:pale: Vorgabe: L99522621@@99@@05652s8@@85zzs81@@r-77 1564@@20082014@@22082014@@@@@@ zwischen den doppelten affen liegen die Indizes, diese können unterschiedlich lang oder auch leer sein. Wie komme ich am besten an diese Werte?:?: Bin für jede Hilfe dankbar. mfg |
AW: posex oder pos, fester trenner im string
SplitString und Co.?
z.B. ![]() Man kann natürlich auch gern RegEx verwenden. |
AW: posex oder pos, fester trenner im string
Wirklich Delphi 6?
|
AW: posex oder pos, fester trenner im string
Zitat:
Ein kleiner Perversling der Neue? |
AW: posex oder pos, fester trenner im string
|
AW: posex oder pos, fester trenner im string
Delphi-Quellcode:
StringReplace ersetzt den doppelten Klammeraffen durch ein bel. Zeichen (hier '|'), was möglichst nicht in s vorkommen sollte. Suche dann in der DP mal nach "delimiter".
var
s: string; begin s := 'L99522621@@99@@05652s8@@85zzs81@@r-77 1564@@20082014@@22082014@@@@@@'; s := StringReplace(s, '@@', '|', [rfReplaceAll]); end; MfG |
AW: posex oder pos, fester trenner im string
Wozu erst ersetzen? Einfach direkt verwenden:
Delphi-Quellcode:
Und wenn es schnell gehen soll:
Function Split(Var S: String; Del: String): String;
Var p: Integer; Begin p := pos(Del, S); If p = 0 Then Begin Result := s; s := ''; End Else Begin Result := Copy(s, 1, p - 1); s := Copy(s, p + length(Del), length(s)); End; End; ... var s,teilString : string; begin s := 'L99522621@@99@@05652s8@@85zzs81@@r-77 1564@@20082014@@22082014@@@@@@'; while s<>'' do begin teilString := Split(s,'@@'); TuWasMitDem(teilString); end; end; ![]() Eine unicodefähige Variante ist weiter hinten zu finden. |
AW: posex oder pos, fester trenner im string
Zitat:
Bei neueren Delphi-Versionen kann man auch einfach eine TStringList nehmen und mit StrictDelimiter (gibt's auch noch nicht bei D7) und DelimitedText arbeiten. |
AW: posex oder pos, fester trenner im string
Ist mir auch grad aufgefallen..
|
AW: posex oder pos, fester trenner im string
@Dejan Vu:
Die vielen Klammeraffen am Stringende könnten dem TE beim PoSex vllt. Schwierigkeiten machen, daher der StringReplace-Vorschlag :-D MfG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz