J'ai besoin de votre aide pour résoudre cette question.Expressions régulières, quel ennui!
Je déclare que je ne suis pas capable d'utiliser des expressions régolaires avec Oracle PL/SQL, mais je promets de les étudier dès que possible!
Veuillez supposer que vous avez une table avec une colonne appelée MY_COLUMN de type VARCHAR2 (4000).
Ce colums est peuplé comme suit:
Description of first no.;0;Description of 2nd number;91399399119;Third Descr.;13456
Vous pouvez voir que les chaînes sont composées par deux chiffres (qui peut commencer par zéro) et des chaînes (contenant tous les caractères alphanumériques, et également point, », /, \, etc.):
Description1;Number1;Description2;Number2;Description3;Number3;......;DescriptionN;NumberN
Bien sûr, N ne sait pas, cela signifie que le nombre de couples pour chaque enregistrement peut varier d'un enregistrement à.
Dans chaque couple le premier élément est toujours le nombre (qui peut commencer par zéro, je répète), et le deuxième élément est la chaîne.
Le séparateur de champ est toujours point-virgule (;).
Je voudrais transformer les chiffres comme suit:
0===> 001-23457
91399399119 ===> 913-99399119
13456 ===> 134-56
Cela signifie, après les trois premiers chiffres du numéro, je dois mettre un tiret « - »
Comment puis-je obtenir cela en utilisant des expressions régulières?
Merci d'avance pour votre aimable collaboration!
Des solutions parfaites, ça marche super !! Merci beaucoup!! ;-) – UltraCommit