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

PL/SQL Oracle Discussion :

Effacer les espaces (début et fin) lors de la lecture d'un fichier texte! [10gR2]


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Effacer les espaces (début et fin) lors de la lecture d'un fichier texte!
    Bonjour,
    voilà mon souci, j'utilise la fonction get_text pour extraire les lignes depuis un fichier texte plat avec deux paramètres (le nom du fichier et la ligne).
    jusqu'ici, tout est parfait, le problème c'est que je ne peux pas utiliser les fonctions (terim,ltrim,rtrim,replace ...) avec la fonction get_text.
    pouvez-vous, SVP, me donner une solution, comment puis-je supprimer ces espaces avant d'attaquer le reste du programme.
    Merci d'avance pour vos aides.

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    De quelle fonction s'agit-il ? Le seul get_text que j'ai trouvé dans ma base est dans le package utl_tcp
    Si cette fonction te renvoie un varchar2, qu'est ce qui t'empêche de faire un TRIM par la suite ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Explications!!!
    Bonjour, Merci pour votre réponse.
    d'abord, peut être que je me suis mal exprimé. Au fait ce que fait mon programme est d'extraire ligne par ligne depuis un fichier texte pour faire des traitements après.
    je fais l'extraction des lignes par la commande "CLIENT_TEXT_IO.GET_LINE" .
    Mon soucis c'est que l'extraction ramène la ligne en entier (même s'il y a des caractères spéciaux, non seulement le blanc mais aussi la tabulation), et je dois les effacer soit du début ou de la fin de la ligne.
    Et comme le TRIM (LTRIM ou RTRIM) ne fait que la suppression des blancs, ça ne m'a pas suffit.
    Merci pour vos réponses, commentaires ou encouragement.

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Les fonction LTRIM et RTRIM ont 2 paramètres. Le second vaut espace par défaut

    Pour la lisibilité du code suivant, j'ai remplacé les tabulations chr(9) par un # chr(35)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT l, LTRIM(l) lt, LTRIM(RTRIM(l, ' '||CHR(35)), ' '|| CHR(35)) c
    FROM 
    (					SELECT ' espace en début et fin ' l FROM dual
    UNION ALL SELECT ' '|| CHR(35) ||' espaces et Tab en début' l FROM dual
    UNION ALL SELECT ' '|| CHR(35) || CHR(35) ||' espaces et Tab en début et fin'|| CHR(35) ||' ' l FROM dual
    UNION ALL SELECT 'Aucun espace en début et fin' l FROM dual
    )
     
    L					LT					C
     espace en début et fin 		espace en début et fin 			espace en début et fin
     # espaces et Tab en début		# espaces et Tab en début		espaces et Tab en début
     ## espaces et Tab en début et fin# 	## espaces et Tab en début et fin# 	espaces et Tab en début et fin
    Aucun espace en début et fin		Aucun espace en début et fin		Aucun espace en début et fin
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Merci Beaucoup Mr McM.
    Votre réponse a été très claire, ça m'a été très utile de l'utiliser pour répondre à mon besoin.
    Mille merci.

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

Discussions similaires

  1. Problème d'accent lors de la lecture d'un fichier texte
    Par petit rabot dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 23/11/2017, 08h57
  2. Réponses: 2
    Dernier message: 20/11/2014, 20h12
  3. Effacer les espaces de début et fin d'un textarea
    Par wiwizz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 16/11/2011, 14h16
  4. Réponses: 4
    Dernier message: 25/05/2010, 17h59
  5. Réponses: 2
    Dernier message: 28/01/2010, 16h31

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