AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zahlen in einem String finden

Ein Thema von ATS3788 · begonnen am 22. Nov 2012 · letzter Beitrag vom 23. Nov 2012
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#1

Zahlen in einem String finden

  Alt 22. Nov 2012, 09:13
Hallo
Gibt es eine elegante "procedure"
um Zahlen in einen String zu finden

str := 'abc1def6q3uz3sdd8as2'; Mir ist schon klar eine Schleife und dann mit ORD
sehen ob es eine ASCII Zahl ist.

Die Frage war aber ELEGANTE

Danke meine Delphifreunde
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Zahlen in einem String finden

  Alt 22. Nov 2012, 09:23
Man könnte mit der Delphi-Referenz durchsuchenPos Funktion explizit nach den Ziffern '0' .. '9' suchen, aber das ist nicht wirklich eleganter.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Zahlen in einem String finden

  Alt 22. Nov 2012, 09:24
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.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Zahlen in einem String finden

  Alt 22. Nov 2012, 09:34
Hallo
Gibt es eine elegante "procedure"
um Zahlen in einen String zu finden
Nein, gibt es nicht. In einem String befinden sich nur Ziffern aber keine Zahlen.
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:
100
Kann als Zahlenwert bedeuten: 4, 64, 100, 256, ... und ich habe jetzt nur mal so Standard-Zahlensysteme zugrunde gelegt.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#5

AW: Zahlen in einem String finden

  Alt 22. Nov 2012, 10:16
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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Zahlen in einem String finden

  Alt 22. Nov 2012, 10:20
Hallo
Gibt es eine elegante "procedure"
um Zahlen in einen String zu finden
Du kannst dir eine RegEx-Lib für Delphi besorgen und dann mit "/[0-9]{1,}(?:[\,\. ]?[0-9])*/" (oder so ähnlich) alle Zahlen extrahieren.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#7

AW: Zahlen in einem String finden

  Alt 22. Nov 2012, 10:52
Du kannst dir eine RegEx-Lib für Delphi besorgen
Die ist (ich glaub seit XE) schon im Delphi mit dabei.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#8

AW: Zahlen in einem String finden

  Alt 22. Nov 2012, 16:23
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.
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Zahlen in einem String finden

  Alt 22. Nov 2012, 16:38
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.
Wenn du mal ein konkretes Beispiel geben würdest (was geht rein, was soll rauskommen) dann könnten wir dir auch etwas konkretes zeigen. So ist das aber zu schwammig.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#10

AW: Zahlen in einem String finden

  Alt 22. Nov 2012, 16:44
Delphi-Quellcode:
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;
Also habe das so gemacht, geht echt gut
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
Martin MIchael
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz