![]() |
Zahlen in einem String finden
Hallo
Gibt es eine elegante "procedure" um Zahlen in einen String zu finden
Delphi-Quellcode:
Mir ist schon klar eine Schleife und dann mit ORD
str := 'abc1def6q3uz3sdd8as2';
sehen ob es eine ASCII Zahl ist. Die Frage war aber ELEGANTE Danke meine Delphifreunde |
AW: Zahlen in einem String finden
Man könnte mit der
![]() |
AW: Zahlen in einem String finden
was meinst Du mit finden?
-Die erste Position (gegf. ab Position) die eine Ziffer ist -extrahieren der Ziffern in einen String -extrahieren in eine Liste mit Position/Ziffer -etc. |
AW: Zahlen in einem String finden
Zitat:
Wären es Zahlen, wäre es kein String ;) Man kann versuchen aus dem String eine Zahl zu interpretieren. Dabei ist es aber wichtig in welchem Kontext.
Code:
Kann als Zahlenwert bedeuten: 4, 64, 100, 256, ... und ich habe jetzt nur mal so Standard-Zahlensysteme zugrunde gelegt.
100
|
AW: Zahlen in einem String finden
Oder sind doch Ziffern gemeint?
Also einfach nur eine Matrix, welche Ziffern (0-9) drin vorkommen. Wenn es doch um Zahlen geht, dann gibt es dazu auch schon ein paar Threads, mit vielen Lösungen. "abc123def45xy9" > 123, 45 und 9 |
AW: Zahlen in einem String finden
Zitat:
|
AW: Zahlen in einem String finden
Zitat:
|
AW: Zahlen in einem String finden
Danke, Danke
Gut zu wissen das es leider nicht elegant geht. Manchmal sieht mir hier so geniale Lösungen wo man sich sagt, Oh das war aber klug. |
AW: Zahlen in einem String finden
Zitat:
|
AW: Zahlen in einem String finden
Delphi-Quellcode:
Also habe das so gemacht, geht echt gut
function CountNumber(const Str: string): tNumArray;
var i,a : integer; begin FillChar(Result , SizeOf(tNumArray) , 0); a := 0; for i := 1 to length(Str) do if (ord(Str[i]) >= 48) and (ord(Str[i]) <= 57) then begin Result[a] := StrToInt(Str[i]); inc(a); end; end; ist aber nicht "ELEGANT" Wie komme ich darauf. In C++ geht vieles, laßt mich sagen anders. Manches dort ist "ELEGANT" anderes einfach schwer zu lesen, dedewegen liebe ich Delphi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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