Bonjour,
Je suis en train de coder une procédure et en fait, j'aurai besoin de transformer une chaine de caractères. Pour le coup, un simple substr ou trim ne suffira pas, il faut que je passe par une regex. Chose que je ne connais pas du tout!
Voici un exemple de mes données de base :
Ma valeur de base fait toujours 15 caractères, avec des espaces pour assurer cette longueur fixe.ID | VALEUR
01 012345 FRAISE
02 012345 ABRICOT
03 012345 POMME,012345 MANGUE,012345 TOMATE
Voyez qu'au niveau de ma valeur, je peux avoir une concaténation. D'où la nécessité d'une regex, il me semble.
J'aurai plusieurs traitement à envisager. Trois en fait.
- Le premier traitement serait de récupérer :
- Le second serait de récupérer :ID | VALEUR
01 FRAISE
02 ABRICOT
03 POMME,MANGUE,TOMATE
C'est à dire une ligne par valeur (bien-sûr l'ID ici est un ID de rattachement, pas l'ID de la ligne)ID | VALEUR
01 012345 FRAISE
02 012345 ABRICOT
03 012345 POMME
03 012345 MANGUE
03 012345 TOMATE
- Le dernier serait de récupérer :
Je m'excuse si j'ai l'air de passer commande mais pour le coup, je connais très mal les regex et je n'ai pas la possibilité de me former dessus en ce moment. Mais il faudra bien un jour tellement c'est pratique.ID | VALEUR
01 FRAISE
02 ABRICOT
03 POMME
03 MANGUE
03 TOMATE
En fait, j'avais envisagé ça au départ (si si, j'ai travaillé un peu!) pour récupérer FRAISE ou ABRICOT:
Mais ça ne s'applique qu'au cas où je n'ai qu'une seule valeur,pas de concaténation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part maChaine:=trim(substr(valeur,7));
Partager