AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Bestimmte Zahlen aus einem String auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Bestimmte Zahlen aus einem String auslesen

Ein Thema von Feyh · begonnen am 14. Nov 2008 · letzter Beitrag vom 14. Nov 2008
Antwort Antwort
Seite 2 von 2     12   
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#11

Re: Bestimmte Zahlen aus einem String auslesen

  Alt 14. Nov 2008, 14:30
Delphi-Quellcode:
function GetFirstNumber(s : string) : string;
var
  i : Integer;
begin
  for i := 1 to Length(s) do
    if s[i] in ['0' .. '9']
      then Result := Result + s[i]
      else
        if Result <> 'then Break;
end;
Das wäre meine Lösung . Ist etwas anders als die von Deddy. Ist relativ einfach und etwas kürzer als Deddys Methode .
Fridolin Walther
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Bestimmte Zahlen aus einem String auslesen

  Alt 14. Nov 2008, 14:31
Dafür habe ich break und Stringkonkatenation vermieden
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#13

Re: Bestimmte Zahlen aus einem String auslesen

  Alt 14. Nov 2008, 14:32
Aber die Bedingung bei Deinen IF Statements liest sich grauenhaft .

[EDIT]Uuups ... das war ja gar nicht Deddy. Das war Himitsu mit dem "<= '9'" .[/EDIT]
Fridolin Walther
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Bestimmte Zahlen aus einem String auslesen

  Alt 14. Nov 2008, 14:39
Wenn die Hausnummer immer als Erstes steht und sich sonst nix Schlimmes davor befindet,
dann vielleicht so (incl. anhängender Buchstaben)
Delphi-Quellcode:
function GetFirstNumber(s : String) : String;
var
  i : Integer;
begin
  s := Trim(s);
  i := 0;
  while (i < Length(s)) and (s[i + 1] in ['0'..'9', 'a'..'z', 'A'..'Z']) do
    inc(i);
  Result := Copy(s, 1, i);
end;
Falls keine Leerzeichen und Co. davor vorkommen können, dann kann die Zeile mit dem Trim entfallen.
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 Sir Rufo
Sir Rufo

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

Re: Bestimmte Zahlen aus einem String auslesen

  Alt 14. Nov 2008, 15:52
Wenn das immer in dem Format 15, Hauptstraße / NRW14 kommt, dann würde ich das hier nehmen
Delphi-Quellcode:
function GetHausnummer( Anschrift : string ): string;
var
  PosKomma : integer;
begin
  PosKomma := Pos( ',', Anschrift );
  if PosKomma > 1
  then
    Result := copy( Anschrift, PosKomma - 1 )
  else
    Result := '';
end;
cu

Oliver
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 DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Bestimmte Zahlen aus einem String auslesen

  Alt 14. Nov 2008, 15:54
Das mit dem Format ist ja die große Frage Ich würde den String-Parameter übrigens als const übergeben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Bestimmte Zahlen aus einem String auslesen

  Alt 14. Nov 2008, 15:59
Was haltet ihr eigentlich von der alten Pascal-Funktion val?
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Bestimmte Zahlen aus einem String auslesen

  Alt 14. Nov 2008, 16:09
Zitat von Apollonius:
Was haltet ihr eigentlich von der alten Pascal-Funktion val?
OK stimmt, wenn man nur die 15 haben möchte, dann würde es so auch gehn (aber bei "15a" würde wieder was fehlen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#19

Re: Bestimmte Zahlen aus einem String auslesen

  Alt 14. Nov 2008, 16:14
Zitat von Sir Rufo:
Wenn das immer in dem Format 15, Hauptstraße / NRW14 kommt, dann würde ich das hier nehmen
Delphi-Quellcode:
function GetHausnummer( Anschrift : string ): string;
var
  PosKomma : integer;
begin
  PosKomma := Pos( ',', Anschrift );
  if PosKomma > 1
  then
    Result := copy( Anschrift, PosKomma - 1 )
  else
    Result := '';
end;
Das könnte man auf folgendes komprimieren:
Delphi-Quellcode:
function GetHausnummer(Anschrift : string) : string;
begin
  Result := Copy(Anschrift, 1, Pos(',', Anschrift)-1);
end;
Fridolin Walther
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#20

Re: Bestimmte Zahlen aus einem String auslesen

  Alt 14. Nov 2008, 16:19
Zitat von Apollonius:
Was haltet ihr eigentlich von der alten Pascal-Funktion val?
Funktioniert nur wenn die Ziffer am Anfang steht. Es wurde ja bereits eingeräumt, daß das nicht immer der Fall ist.
Fridolin Walther
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:51 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