Denkansatz:
_tmp := @ReplaceSubstring (Telefonnummer; "0" : "1": ...; "")
Dann hast Du in _tmp alle Zeichen, die Du aus Telefonnummer entfernen musst.
_tmp := @ReplaceSubstring (Telefonnummer; " ": "0" : "1": ...; @char(13))
NurZahlenTelefonnummer := @ReplaceSubstring(Telefonnummer;@Unique(@Explode(_tmp;@char(13)));"")
Wenn man dann auch noch immer @char(13) ersetzt, bleibt keine Eventualität mehr übrig:
ich widerspreche ungern ...Ich auch, aber :)
Tim bekommt eindeutig den Preis für das Kreativste Denken verliehen.stimmt, die Lösung von Tim ist wirklich "elegant"!
Respekt, kann mich nur anschließenTim bekommt eindeutig den Preis für das Kreativste Denken verliehen.stimmt, die Lösung von Tim ist wirklich "elegant"!
Respekt, kann mich nur anschließenTim bekommt eindeutig den Preis für das Kreativste Denken verliehen.stimmt, die Lösung von Tim ist wirklich "elegant"!
Hallo,
ich will ja nicht vorlaut sein, aber evtl. gibt es ein Zeichen, das Ihr so nicht entfernen wollt?
Gerade im Internationale Umfeld ist das Kreuz"+" in der Telefonnummer von großer Bedeutung, evtl. sollte man dem zumindest an erste Stelle eine Sonderrolle zukommen lassen?
Gruß Werner
Man nimmt alle die Zeichen, die man nicht entfernen möchte, in den String mit den erlaubten Zeichen auf, z.B. auch das +
Und um das zweite "+" bei "+49 9229+2345" zu killen macht man sowas :
A := @implode( @Explode(dirtyNumber; @implode(@Explode( dirtyNumber ; "0123456789+"))) ; "" );
@Left(A; 1) + @Left(@replacesubstring(A; "+"; "") ; -1);
"+" durch "" zu ersetzen ist falsch. Richtig wäre hier "00", denn "+49" ist "0049".
Ich hab vor kurzem genau für diese Probleme eine Lösung gebaut.
ich ersetze z.B. immer "(0)" -> "", "+"->"00"
Erst danach fliegen alle nicht numerischen Zeichen raus. Weiterhin ersetze ich im Nachgang alle "0049" durch "0"
Und zum Schluß schneide ich von allen lokalen Nummern die Orstvorwahl weg. Die Landes und Ortsvorwahl hab ich dabei konfigurierbar gehalten, damit man das Ergebnis gem. den lokalen Gegebenheitem steuern kann.
Im Grunde hab ich nur etwas dazu geschrieben, weil eben "+" -> "" schlichtweg falsch ist.
Und schon gibt es das nächste Problem mit den Klammern um die Ortsvorwahl, die dann ohne die 0 dasteht!
1. Ländervorwahl (Mussfeld) +49
2. Ortsvorwahl (Mussfeld) 2345 (ohne "0")
3. Firmenkopfnummer (Mussfeld)
4. Durchwahl