echo $begrüßung;
gegeben ist eine variable CountryCode = 0049
jetzt will ich mit einem regulären ausdruck eine telefonummer fomratieren, dabei gelten folgende regeln:
- wenn das erste zeichen der telefonnummer ein '+' zeichen ist, wird es durch die beiden zeichen '00' ersetzt.
- alle zeichen entfernen, die keine zahlen sind.
- wenn die ersten beiden zeichen nicht '00' entsprechen, dann concatiniere den CountryCode (0049) zur telefonnummer.
- wenn das zeichen nach dem CountryCode (inmeinen beispiel das 5. zeichen), also das zeichen nach der länge des CountryCodes '0' ist, dann entferne die '0'
Diese Regel ist übrigens nicht für alle Länder gültig.
meine frage ist nun, ist das mit einem regulären ausdruck umzusetzten.
Mit _einem_? Gar nicht mit dieser Oracle-Funktion, behaupte ich mal. Du hast mehrere Stellen, die unterschiedlich ersetzt werden sollen. Das geht nur dann mit einem Ausdruck, wenn der Gruppierungen zulässt und jede Gruppe einzeln behandeln kann.
was ich bisher habe sind punkte 1 und 2, dann komme ich aber nicht wirklich weiter. hier mein ausdruck:
REGEXP_REPLACE('+gsdfg&%/r353hfg0945', '(^+)?([[1]]+)', '00')
Nein, hast du nicht, denn du hast in der Mitte Nullen eingeschoben.
Ich denke, du kommst nicht drumrum für jede Regel eine eigene Behandlung zu verwenden. Kennt Oracle benutzerdefinierte Funktionen?
echo "$verabschiedung $name";
:digit: ↩︎