Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Stringproblem - Nur Ziffern sollen drin bleiben
Moellers - Do 20.11.03 14:09
Titel: Stringproblem - Nur Ziffern sollen drin bleiben
Hi zusammen,
ich habe ein Problem mit einem String der aus der Datenbank kommt. In diesem sind die Telefonnummern eingetragen.
Diese haben leider kein einheitliches Format sondern teilweise mit Leerzeichen, Klammern, Bindestrich usw....
Jetzt suche ich eine Möglichkeit den String so zu verändern das er nachher nur noch Zahlen drin hat.
Bsp:
aus
(0203) 4354 - 4334
soll nach der Bearbeitung
020343544334
werden.
Kann mir vielleicht jemand einen Tipp geben wie man sowas regeln kann?
Gruss
Andreas
MAlsleben - Do 20.11.03 14:59
Hi,
es gibt da eine uralte Pascal- Procedure, die auch noch in Delphi existiert.
procedure Val(S; var V; var Code: Integer);
Die Variable Code gibt bei der Umwandlung, von str nach int die Fehler- position an, wo keine Konvertierung durchgeführt werden konnte. Dann einfach an dieser Stelle das Zeichen entfernen. Das ganze in eine Schleife gepackt. Fertig. Val ist auch in der Delphi- Hilfe erklärt.
Gruß Micha.
Moellers - Do 20.11.03 16:37
Danke Dir für den Tipp.
Habs hinbekommen
TRomano - Fr 21.11.03 12:38
Ein wenig universeller geht es mit folgender function:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| ... const setDigits : set of char = ['0'..'9']; setChars : set of char = ['a'..'z','A'..'Z']; ... implementation
{$R *.dfm}
function OnlyChars(const s: string; const setOnlyChars : TSetOfChars = []) : string; var i, nLength : integer; begin Result := ''; nLength := Length(s); if (setChars = []) or (nLength = 0) then begin Result := s; Exit; end else for i:=1 to nLength do if (s[i] in setOnlyChars) then Result := Result + s[i]; end; |
Allerdings besteht hier noch ein wenig Optimierungspotential ...
Gruss
Tom
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!