Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAP Crystal Reports Discussion :

Extraction d'une chaine de caractère


Sujet :

SAP Crystal Reports

  1. #1
    Membre du Club
    Extraction d'une chaine de caractère
    Bonjour,

    Est-il possible :

    1- extraction numérique d'une chaine de caractères :
    EX : DF125265 donne 125265 sachant qu'il peut y avoir un nombre de caractères différent avant la chaine numérique

    2 - extraction de tous les caractères se trouvant après les 3 premiers :
    EX : FOUT9073250 donne T9073250

    Merci pour votre aide, j'ai chercher dans toutes les fonctions de base mais sans trouver ce que je cherche.

  2. #2
    Modérateur

    Bonjour

    1. La fonction VAL
    2. La fonction Leftstring associée avec length
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  3. #3
    Membre du Club
    Bonjour,

    La fonction VAL ne me donne pas satisfaction.
    La fonction LeftString n'est pas disponible ou Est-ce une association de fonction ?

  4. #4
    Modérateur

    Bonjour,

    Qu'est ce qui ne va pas avec la fonction VAL.. c'est fait pour extraire les chiffres d'un texte....
    Remplace leftString effectivement n'existe pas.. c'est Left.. tu peux aussi utiliser Mid... mais tu pourrais faire un effort....
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  5. #5
    Membre du Club
    VAL me renvoi 0
    Left : le nombre de caractères texte avant la chaine numérique peut varier.

    Mais je cherche.

  6. #6
    Membre actif
    C'est parce val parcourt la chaine de gauche à droite et stoppe et premier non numérique trouvé.

    Il n'y a pas de fonction toute faite qui parcourt dans l'autre sens (de droite à gauche) or il me semble que c'est ce que tu veux si j'ai bien compris... donc à faire à la mimine, exemple :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    local numbervar i;
    local stringvar MaChaine;
    local stringvar r;
     
    MaChaine:="DF125265";
     
    (for  i:=len(MaChaine)  to  1 step -1 do 
    if isnumeric(mid(MaChaine,i,len(MaChaine))) then r:=mid(MaChaine,i,len(MaChaine))
    );
    r