|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Inscription : juillet 2009 Messages : 27 ![]() |
Bonjour
Je voudrais extraire la partie numérique d'une chaine de caractère alpha numérique de longueur variable soit: en CL en rpg ile soit en SQL quelqu'un peut m'aider? exemple1 dans AT10356 je voudrais seulement recupérer 10356 exemple2 dans q55AB5689 je voudrais recuperer seulement 5689. |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : septembre 2008 Messages : 251 ![]() |
La question n'est pas très claire :
- La position et la longueur de la partie numérique sont-elles connues d'avance ? - Si non, peut-il y avoir plus d'une chaine numérique ? (Cas de l'exemple 2) - Le résultat doit-il être numérique ou alpha ? En CLP : CHGVAR &ALPHA %SST(&VARIABLE Pos Long) permet de récupérer la partie numérique dans une chaine de caractères. CHGVAR &NUM &ALPHA permet de convertir la zone alpha en zone numérique. |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Fais une boucle en partant de la fin de la chaîne à analyser et arrête-la au premier caractère < 0.
Je ferais le traitement en RPG IV car plus simple qu'en CL : Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Lisogane,
Tu ne donnes pas signe de vie. Est-ce que ce que j'ai publié te convient ? |
|
|
00
|
|
|
#5 |
|
Inscription : juillet 2009 Messages : 27 ![]() |
Mercure
Merci, votre proposition me convient. excuse moi j'étais en congé |
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 111 ![]() |
Autre solution, plus "simple" qu'une boucle, utiliser %checkR pour trouver la position du 1er caractère non numérique en partant de la fin.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com