![]() |
String anhand eines Trennzeichens zerlegen
hallo zusammen,
ich habe einen String der durch folgendem delimeter getrennt ist: Wert1|Wert2 Das steht alles in einem kompleten String. es geling mir nicht, warum auch immer, nicht diese beiden werte zu trennen. ich habs versucht mit
Delphi-Quellcode:
ich habe leider in sTemp immer noch den kompletten zugewiesenen String, was mache ich falsch?
sTemp ist der komplette String, als Beispiel sTemp := "test|Test1"
s1 := Copy(sTemp,0, Pos('|',sTemp) - 1 ); Delete(sTemp,0, Pos('|',sTemp) + 1); // um den ersten Teil abzuschneiden s2 := sTemp; // um den Rest zuzuweisen |
AW: Verzweifelte Frage ;-)
1. Ganz blöder Titel des Posts!
2. Welche Delphi-Version? (bzw. welche Target-Platform) |
AW: String anhand eines Trennzeichens zerlegen
Zitat:
![]() |
AW: String anhand eines Trennzeichens zerlegen
Ich habe den Titel kurzerhand angepasst. Und ja, die Bitte ist grundsätzlich vorhanden, dass Ihr einen inhaltlich aussagekräftigen Titel wählt.
|
AW: String anhand eines Trennzeichens zerlegen
Sorry das der Titel "Blöd" war :-( ich arbeite mit Delphi 10.1 Berlin:cry:
|
AW: Verzweifelte Frage ;-)
Du kannst deinen ersten Post bearbeiten und unten rechts auf [Erweitert], da lässt sich dann auch der Titel ändern. :zwinker:
Die Delphiversion kannst in deinem Profil angeben und auch in einigen Unterforen oben nochmal auswählen (links neben dem Titel), falls es abweichend ist. Zitat:
(außer wenn man für iOS/Android kompilert, denn da ist
Delphi-Quellcode:
der Standard)
{$ZEROBASEDSTRINGS ON}
In etwas neuen Delphis kann man aber auch über den StringHelper arbeiten, der ist überall mit 0 indiziert. ![]() außerdem
PS:
Delphi-Quellcode:
S := 'aaa|bbb';
S1 := GetShortHint(S); S2 := GetLongHint(S); ![]() |
AW: String anhand eines Trennzeichens zerlegen
Mein Problem ist das das delete überhaupt nichts bewirkt :-( Der erste Teil wird nicht abgeschnitten
|
AW: String anhand eines Trennzeichens zerlegen
Oder wenn es ein anderer Trenner als | ist, z.B. das Semikolon:
Delphi-Quellcode:
S := 'aaa;bbb';
N := Pos(';',S); S1 := (Copy(S,1,N-1)); Delete(S,1,N); S2 := S |
AW: String anhand eines Trennzeichens zerlegen
Zitat:
|
AW: String anhand eines Trennzeichens zerlegen
Mit den korrekten Werten für 1-basierte Strings sollte es gehen:
Delphi-Quellcode:
Etwas komfortabler geht es aber so:
s1 := Copy(sTemp, 1, Pos('|', sTemp) - 1);
Delete(sTemp, 1, Pos('|', sTemp)); // um den ersten Teil abzuschneiden s2 := sTemp; // um den Rest zuzuweisen
Delphi-Quellcode:
// arr: TArray<string>;
arr := sTemp.Split(['|']); s1 := arr[0]; s2 := arr[1]; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 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 by Thomas Breitkreuz