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

  1. #1
    Membre habitué
    [Talend][Regex] vérifier la forme chaine1_chaine2.txt
    Bonjour,

    Je chercher une solution du problème suivant :
    Je sois parcourir le contenu d’un dossier via un tFileList, et je dois tester si les fichiers sont de la forme : chaine1_chaine2.txt

    Si c’est OK je dois récupérer la donnée : chaine1,chaine2, filename

    Je crois que ça doit être géré par un code Regex, chaine1 et chaine2 nee doivent pas être des chaines vides, et le nom du fichier doit contenir une seule fois « _ » et se terminer par .txt

    Des idées svp ?

  2. #2
    Nouveau membre du Club
    Salut,

    Mon expertise en regex est limitée mais j'ai peut-être une solution pour toi. Pas la meilleure mais qui fonctionnera.

    Déjà tu filtres avec un tFilter sur "*.txt", tu n'auras que les txt.

    Puis ensuite, tu utilises la routine StringHandling.COUNT() et tu ne prends les noms qui n'ont qu'un seul "_".

    Puis pour finir, tu peux utiliser un regex pour savoir si chaine1 et chaine2 ne sont pas vides : [A-z]_[A-z].


    Ca devrait fonctionner ainsi.

  3. #3
    Membre expérimenté
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  4. #4
    Membre habitué
    Bonjour fulcho & supergeoffrey pour vos réponses.

    Voilà comme j’ai résolu le problème. J’ai utilisé un tJavaFlex en sortie du tFileList, initialisé la valeur String fileName = ""; et ajouter une variable booleenne « OK » au flux, qui, pour que le fichier soit ok, il faut que :
    - L’extension soit celle attendue
    - Le fichier ne commence pas par « _ »
    - Le nombre de « _ » =1
    La solution est illustrées dans la capture:


    Merci encore pour votre aide.

    Cordialement.