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

Talend Discussion :

Split / ArrayIndexOutOfBoundsException


Sujet :

Talend

  1. #1
    Membre confirm�
    Profil pro
    Responsable informatique
    Inscrit en
    Juillet 2003
    Messages
    142
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Responsable informatique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 142
    Par d�faut Split / ArrayIndexOutOfBoundsException
    Bonjour,


    J'ai un fichier csv :
    COL1|COL2|COL3
    avant|99999;88888;77777|apr�s

    Je souhaite s�parer la colonne 2 en fonction du caract�re ;

    J'ai donc fait dans un JavRow :

    output_row.COL1 = input_row.COL1;
    output_row.COL2_1 = StringHandling.TRIM(input_row.COL2).split(";")[0];
    output_row.COL2_2 = StringHandling.TRIM(input_row.COL2).split(";")[1];
    output_row.COL2_3 = StringHandling.TRIM(input_row.COL2).split(";")[2];
    output_row.COL3 = input_row.COL3;

    Mais j'ai cette erreur : java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1

    Si je laisse que output_row.COL2_1 = StringHandling.TRIM(input_row.COL2).split(";")[0]; �a fonctionne, je ne comprends pas car j'ai bien 3 �l�ments et si je test avec StringHandling.TRIM(input_row.COL2).split(";").length, �a me retourne bien 3... ??

    Si vous avez une id�e !!
    Merci pour votre aide.

  2. #2
    Membre tr�s actif Avatar de supergeoffrey
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par d�faut
    Tr�s louche ce que tu dis !


    Tu dis que le format de ton fichier est

    Citation Envoy� par canabral
    COL1|COL2|COL3
    avant|99999;88888;77777|apr�s
    Vu l'erreur je vois 3 types d'erreur


    1. tu n'ignores pas ton header. "COL2".split(";")[1]// Index 1 out of bounds for length 1
    2. tu as des lignes du genre avant|154|après dans ce cas tu peux ajouter une m�thode dans une routine pour r�cup�rer l'index de fa�on seine ou je faire dans ton tJavaRow
      Code java : S�lectionner tout - Visualiser dans une fen�tre � part
      1
      2
      3
      public static <T> T indexOf(T[] array, int index) {
        return array != null && index >= 0  &&  index < array.length ? array[index] : null;
      }
    3. tu as des lignes du genre avant|;154;|après dans ce cas il faut utiliser String.split(";", -1) pour garder les vides

Discussions similaires

  1. [langage] utilisation de 'split'
    Par mimilou dans le forum Langage
    R�ponses: 9
    Dernier message: 24/02/2004, 13h28
  2. [LG]Split qui marche pas
    Par macluvitch dans le forum Langage
    R�ponses: 3
    Dernier message: 30/11/2003, 18h19
  3. R�ponses: 3
    Dernier message: 08/09/2003, 15h06
  4. Split et calcul de ligne du tableau
    Par La_picolle dans le forum ASP
    R�ponses: 6
    Dernier message: 27/08/2003, 15h58
  5. split en xsl
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    R�ponses: 3
    Dernier message: 17/03/2003, 10h08

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