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 :

Format "téléphone" et regex


Sujet :

Développement de jobs

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Format "téléphone" et regex
    Bonjour,

    2 transformations qui me donnent des erreurs

    Doit être au format "06" suivi de 8 chiffres :

    client.Numero == null ? "format incorrect" : "06" + (client.Numero.length().substring(0, 8))
    ERREUR : impossible d'invoquer substring sur le type int (pourtant mon numero client est en string)

    Doit être au format "10 chiffres" ou au format "+" suivi de 19 chiffres max

    Appel.No_appelant !=null && (Appel.No_appelant.matches("[0-9]{10}") || Appel.No_appelant.matches("^\\+[0-9]{19}"))
    ERREUR : non concordances de type -> bollean en string
    Si quelqu'un pouvait m'expliquer mes erreurs...

    merci

  2. #2
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    client.Numero == null ? "format incorrect" : "06" + (client.Numero.length().substring(0, 8))
    Tu fias un subSting sur la fontion length() et cette dernièer renvoi un entier, c'est pour ça que tu as le message :
    ERREUR : impossible d'invoquer substring sur le type int
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  3. #3
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Appel.No_appelant !=null  && (Appel.No_appelant.matches("[0-9]{10}")  ||  Appel.No_appelant.matches("^\\+[0-9]{19}"))
    Les fonctions matches renvoi des booléen, tu devrais plutôt renvoyer le string.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    comment je dois procéder?
    j'ai tenté autre chose mais je suis dans le flou

    client.Numero == NULL ? "format incorrect" : "06" + (client.Numero.substring(0, 8))

    ET

    Appel.No_appelant !=NULL && String.valueof(Appel.No_appelant.matches("[0-9]{10}") || Appel.No_appelant.matches("^\\+[0-9]{19}"))

  5. #5
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Il faut d'abord nous expliquer ce que tu veux faire, car ce n'est pas vraiment clair.
    Essai de donner aussi un exemple.
    Est ce que la transformation se fait dans un tMap ?
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    oui ca se fait dans un tmap, c'est la seule façon que je connaisse pour les transformations.
    après ce que je veux faire, je l'ai énoncé plus haut.

  7. #7
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    J'ai bien vu ce qu'il y' a en haut, et ce n'est toujours pas clair.
    Qu'est ce que tu as comme entrée (int, String ...), et qu'est ce que tu as comme sortie ?
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    tout est en string j'ai revérifié plusieurs fois au cas ou

  9. #9
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    client.Numero == null ? "format incorrect" : "06" + (client.Numero.length().substring(0, 8))
    Essai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    client.Numero == null ? "format incorrect" : "06" + (client.Numero.substring(0, 8))
    pour le deuxième je n'ai rien compris.

    Si tu veux une réponse clair, pose une question clair. Qu'est ce que ça te coûte de donner 2 ou 3 exemples pour chacune de tes questions !!
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Doit être au format "10 chiffres" ou au format "+" suivi de 19 chiffres max

    Appel.No_appelant !=null && (Appel.No_appelant.matches("[0-9]{10}") || Appel.No_appelant.matches("^\\+[0-9]{19}"))

    ce sont des "regex" ou "expressions regulières"

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