IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

SAS Base Discussion :

extraction chaines de caracteres proc sql ou data step


Sujet :

SAS Base

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Points : 6
    Points
    6
    Par défaut extraction chaines de caracteres proc sql ou data step
    Bonsoir,

    Je débutes avec SAS ET J'aimerais extraire une partie d'une chaine de caractères qui se présente dans un tableau comme suit
    Col1 Col2 Col3
    1 bismuth WZ2801201714515390972268</cp_check_id><result>0</result><vart_id>01.269821<
    2 Gandhi <cp_reply><cp_id>TOPCPID</cd><cp_tr_id><result>21</result>credit_bal><end_val_daten
    3 FILLON 01010CPUSSDGWID02024WZ2801201718562191813204050101485629752210010><result>15</result>801244522584256219181
    4 PENELOPE 4WZ2801<result>5</result><2017<end_val_date>19/07/2025</end_val_date><end_inact_date>18/01/2038<

    la longueur de la Col3 est variante, je veux donc extraire dans une autre table les Col1 Col2et le résultat de la Col3 qui est toujours délimité par <result>12</result>



    Merci à tous pour vos réponses.

    Cordialement

  2. #2
    Membre à l'essai
    Homme Profil pro
    Statisticien
    Inscrit en
    Décembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Statisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2016
    Messages : 5
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Pour répondre à tes question, j'ai trouvé une méthode un peu "tordu":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    data table;
    a="12355<result>0</result><vart_id>01.269821<";output;
    a="PENELOPE	4WZ2801<result>5</result><2017<end_val_date>19/07/2025</end_val_date><end_inact_date>18/01/2038<";output;
    run;
     
    data test; 
    set table;
    b=substr(a,find(a,"<result>")+8,find(a,"</result>")-find(a,"<result>")-8);
    run;
    J'utilise la fonction substr qui extrait une chaine de caractère à partir de de la position de "<result>" +8 (nombre de caractère) et la taille de l'extration est la différence entre la position de "</result>" et de "<result>" - les 8. Noralment ça doit marcher.


    Cordialement,
    Mushy

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup ça marche !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2000] Extraction chaine de caracteres
    Par nlino dans le forum Access
    Réponses: 13
    Dernier message: 07/08/2023, 11h45
  2. Extraction chaine de caractere dans une image
    Par le nulle dans le forum C++
    Réponses: 2
    Dernier message: 10/12/2015, 11h51
  3. [AC-2003] Extraction chaine de caracteres
    Par alexkickstand dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 16/07/2009, 09h28
  4. [RegEx] Extraction chaine de caractere
    Par dafalri dans le forum Langage
    Réponses: 6
    Dernier message: 17/03/2006, 16h05
  5. [String] Extraction chaine de caractères
    Par beZor dans le forum Langage
    Réponses: 9
    Dernier message: 27/02/2006, 14h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo