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

Développement de jobs Discussion :

Vérifier la présence d'un mot dans un fichier texte


Sujet :

Développement de jobs

  1. #1
    Membre à l'essai
    Femme Profil pro
    Geomaticienne
    Inscrit en
    Novembre 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Geomaticienne
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2014
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Vérifier la présence d'un mot dans un fichier texte
    Bonjour,

    Je souhaite développer un job Talend qui va lire un fichier texte à la recherche d'un mot, par exemple "test".
    Si il existe, je souhaite mettre un tdie, "Il existe", si il n'existe pas, un Twarn "Il n'existe pas".

    J'ai commencé des tests mais je ne sais pas si je suis sur la bonne voie?

    tfileInputFullRow (mon .txt) --> row --> tSortRow --> if (StringHandling.INDEX("row_1.line","test") != -1 ) --> twarn "Il n'existe pas"


    Sauriez vous comment faire à partir de ça ou d'une autre façon?

    Merci

    Sophie

  2. #2
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    plusieurs options (j'ai retiré le tSortRow car je ne vois pas à quoi il sert mais tu peux le remettre) :

    Option 1 : tFlowToIterate

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                                                                      +-- if1 --> tDie
    tfileInputFullRow -- main --> tFlowToIterate -- iterate --> tJava +
                                                                      +-- if2 --> tWarn
    dans le tJava: rien (il ne sert qu'à faire un lien)

    le if1 vaut un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    main.row.matches(".*\\btest\\b.*")
    avec main.row qui provient du tFlowToIterate
    .*\\btest\\b.* la regexp qui va bien pour tester la présence de ton mot

    le if2 sera l'inverse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    !main.row.matches(".*\\btest\\b.*")
    Option 2 : tFilterRow

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                                                                        +-- if1 --> tDie
    tfileInputFullRow -- main --> tFilterRow -- onComponentOK --> tJava +
                                                                        +-- if2 --> tWarn
    Ici, le if1 sera plutôt du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Integer)globalMap.get("tFilterRow_1_NB_LINE_OK")) > 0
    Le filtre servant à retrouver les lignes qui correspondent à ta recherche : tu peux utiliser une regexp du même style ou faire le filtre classique.

    et le if2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Integer)globalMap.get("tFilterRow_1_NB_LINE_OK")) == 0

  3. #3
    Membre à l'essai
    Femme Profil pro
    Geomaticienne
    Inscrit en
    Novembre 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Geomaticienne
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2014
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Solution
    Copie du message :

    Bonjour,

    Un énorme merci pour cette réponse complète, également copiée dans l'autre discussion en doublon "Vérifier un mot dans un fichier texte".

    Je ne sais pas si ta solution fonctionne mais entre temps j'ai réussi.

    Voici ma solution :

    tFileInputFullRow --> Row1 (création d'une colonne "line" dans le schéma) --> tFlowtoIterate --> Iterate --> tRowGenerator (colonne "line") --> if ( " StringHandling.INDEX(row1.line,"test") != -1" ") --> tdie ("Le mot test existe").

    Bonne continuation,

    Sophie

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

Discussions similaires

  1. Vérifier la présence d'un mot dans une liste
    Par herken1986 dans le forum C#
    Réponses: 6
    Dernier message: 08/02/2012, 11h44
  2. Réponses: 12
    Dernier message: 28/04/2009, 23h05
  3. Réponses: 6
    Dernier message: 20/08/2007, 16h14
  4. Trouver un mot dans un fichier texte
    Par godik dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 10/03/2006, 14h31
  5. Réponses: 4
    Dernier message: 16/12/2005, 17h43

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