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

Java Discussion :

Traitement des chaines caractères avec un séparateur


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Traitement des chaines caractères avec un séparateur
    Bonjour,

    dans un fichier txt j'ai une chaine de caractère comme ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    8936987|21673525260||
    8746426|21673527845||
    8918706|21673525304||
    8942460|21673525505||
    8918702|21673525303||
    8746431|21673527852||
    8751290|21673527800||
    8942464|21673525506|X|
    extraite à partie d'un spool (de requete SQL, si ça change qqchose..)

    Dans mon code Java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    while ((currentLine = reader.readLine()) != null) {	
    			if(countFileLines==0)
    			{
    				countFileLines++;
    				continue;
    			}
     
     
    			ContractDunningData currentContract = new ContractDunningData();
    			String[] tokens = currentLine.split("|");
     
    			logger.info("DEBUG 1 : loadContractsDataFromFiles : current Tokens");
     
    			//Use the different fields of the line saved in Tokens
    			//TODO Here Once tokens size & name OK ==> Use to put Data for Contract Here just like the file sent to Moez
    			//TODO Feten Values for Tests here ==> delete later
     
     
    			//Fields Order for the moment in the text file (for Tests) ==> CO_ID,DN_NUM,profile,ADSL
    			String coIdToken = null;
    			String dnNumToken = null;
    			String profileToken = null;
    			String adslToken = null;
     
    			if(tokens!=null && tokens.length!=0)
    			{
     
     
    				logger.info("DEBUG 2 : loadContractsDataFromFiles : current Tokens =>"+tokens.length);
    				coIdToken = tokens[0];
    Je m'attendais par ex à ce que Tokens[0] = 8936987
    Mais Non j'ai null et 8 pour Tokens[1] par exemple.

    Merci

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String[] tokens = currentLine.split("\\|");

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    La fonction split prend en paramètre une expression régulière.
    Donc si tu veux effectuer ton split selon "le caractère pipe" et non selon l'expression "chaîne vide ou chaîne vide" il faut échapper ce caractère:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] tokens = currentLine.split("\\|");

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/11/2010, 02h53
  2. Traitement des pages web avec java
    Par samorra dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 17/06/2009, 11h57
  3. Traitement des gros fichiers avec VBA sous MsACCESS
    Par GBAGO dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/11/2008, 10h48
  4. Calculateur de chaine de caractères avec un séparateur
    Par NapsterVB dans le forum Langage
    Réponses: 25
    Dernier message: 07/03/2008, 12h38
  5. [Debutant] Afficher des chaines unicodes avec println
    Par MichaelB dans le forum Langage
    Réponses: 2
    Dernier message: 10/01/2007, 19h39

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