![]() |
String Filtern
Wie kann ich aus den Daten eiens Strings(Zahlen und Buchstaben vorhanden) alle Zahlen herausfiltern und in einem anderen String speichern?
|
Re: String Filtern
Wenn du nachher einfach nur alle Ziffern nacheinander in nem anderen String stehen haben willst, dann mach das so (ungetestet, müsste aber funzen):
Delphi-Quellcode:
Wenn die Zahlen im OriginalString drinbeleiben sollen, dann kommentier einfahc die markierte Zeile und somit den delete-Aufruf aus ;)
for i := 1 to length(Originalstring) do
if OriginalString[i] in ['0'..'9'] then begin ZahlenString := ZahlenString + OriginalString[i]; delete(OriginalString, i, 1); //Markierte Zeile end; //edit i von 1 anfangen lassen zu zählen (vorher wars 0, gibt aber keinen Sinn, weil in String[0] die Längenangabe steht) |
Re: String Filtern
Der Filter an sich funktioniert zwar aber er macht aus 123456789 13579
|
Re: String Filtern
nach der deleteaktion soltle net erhöht werden ... da erledigt das delete ja schon gewissermaßen.
|
Re: String Filtern
Hm, stimmt, das hab ich nicht bedacht.
Eventuell müsste es mit einer for-downto-Schleife klappen. |
Re: String Filtern
oder einfach ne whileschleife, wo man die int-variable manuell erhöht bzw. eben nicht erhöht, wenn man delete nutzt ;)
|
Re: String Filtern
warum nicht einfach das delete weglassen?!
Delphi-Quellcode:
ZahlenString := '';
for i := 1 to length(Originalstring) do if OriginalString[i] in ['0'..'9'] then begin ZahlenString := ZahlenString + OriginalString[i]; end; |
Re: String Filtern
Mein Vorschlag:
Delphi-Quellcode:
ZahlenString := '';
for i := length(Originalstring) downto 1 do if OriginalString[i] in ['0'..'9'] then Insert(OriginalString[i],Zahlenstring,0); |
Re: String Filtern
Zitat:
dann brauchts das delete net und das ganze Problem ist hinfällig ;) |
Re: String Filtern
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02: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