Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/03/2011, 18h57   #1
Invité régulier
 
Inscription : mars 2008
Messages : 49
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 49
Points : 7
Points : 7
Par défaut SUBSTRING DANS un TMAP

Bonjour
je suis débutant en talend

je veux récupérer un nombre dans une chaîne de caractère

exemple

col1
mot1 3 OK
mot4 5 KO
mot5 6 mot3
mot9 7 mot5
résultat
3
5
null
null

Si la col1 contient ‘OK’ ou ‘KO’ alors récupérer deuxième élément et tester s’il s’agit d’un nombre de 1 à 10

e veux mettre ça dans un TMAP
smain_inf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 13h51   #2
Rédacteur/Modérateur
 
Avatar de CyberChouan
 
Homme Benoît Courtine
Directeur technique
Inscription : janvier 2007
Messages : 2 744
Détails du profil
Informations personnelles :
Nom : Homme Benoît Courtine
Âge : 29
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2007
Messages : 2 744
Points : 4 202
Points : 4 202
Envoyer un message via MSN à CyberChouan
le plus simple pour t'en sortir est de développer une routine (dans l'onglet correspondant) qui traitera ton problème : la logique de ton traitement est trop complexe pour que tu puisses t'en sortir uniquement avec le tMap :

Code java :
1
2
3
4
5
6
7
8
public static boolean isCorrect(String ligne) {
    if (ligne == null) {
        return false;
    }
    Pattern p = Pattern.compile(".+ [0-9] ((OK)|(KO))");
    Matcher m = p.matcher(ligne);
    return m.matches();
}

Cette méthode teste si la ligne a le format que tu décrit. Mais tu peux facilement l'adapter pour qu'elle te renvoie le nombre, dans le cas où le format est correct (les tutoriels de la FAQ Java expliquent très bien le fonctionnement des expressions régulières).
__________________
Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
Mes articles et tutoriaux & Mon blog informatique
CyberChouan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h11.


 
 
 
 
Partenaires

Hébergement Web