![]() |
Delphi-Version: 2010
Ab und bis zu einem bestimmten Zeichen aus String kopieren
Hey.
Ich möchte aus einem String einem bestimmten zeichen ("1") bis zu einem weiteren bestimmten zeichen ("2") kopieren. Beispiel: String: 1xxxx2yyyy Result: xxxx Mit copy() komme ich leider nicht weiter, deshalb frage ich hier. Bisher benutz ich:
Code:
Das kann natürlich nicht funktionieren, weil der zweite Teil von Copy, "Count", nur die Anzahl der zu kopierenden Stellen angibt.
var1 := '1' + 'xxxx' + '2' + 'yyyy'; //'1xxxx2yyyy'
var2 := copy(var1, pos('1', var1)+1, pos('2', var1)-1); Und leider nicht die genaue Position. Mit der genauen Position des letzten Buchstabens vor "2", kann ich daher nichts anfangen. Weiß da jemand von euch weiter? |
AW: Ab und bis zu einem bestimmten Zeichen aus String kopieren
Delphi-Quellcode:
pos1 := pos('1', var1) + 1;
pos2 := pos('2', var1) - 1; var2 := copy(var1, pos1, pos2 - pos1); |
AW: Ab und bis zu einem bestimmten Zeichen aus String kopieren
achja. natürlich. :D
danke! [Edit:] Muss allerdings nicht Zitat:
Ansonsten wird bei dem String "1xxxx2yyyy" als Ergebnis nur "xxx" ausgegeben und nicht "xxxx" ausgegeben. Die Stelle die Pos2 zurückgibt ist bei meinem String "5" (also das letzte x). Pos2-Pos1 = 5-2 = 3. "Count" von "Copy()" ist also 3 - Komischerweise wird das erste "x" (Pos1) bei den 3 Schritten, als erster Schritt, miteingeschlossen. Also muss Pos2 ohne das "-1" benutzt werden und auf der "2" liegen. Dann wäre Pos2-Pos1 = 6-2 = 4. Kleiner Schönheitsfehler ;) Danke nochmal... [/Edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 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