Galactic Civilizations 3
Parser une chaine de caractères en Java

Parser une chaine de caractères en Java

Catégorie: Programmation.
Posté par le 27/04/2014.
Dernière mise à jour le 27/04/2014.

<<Tutoriel précédent 

Description

Ce tutoriel explique comment parser une chaine de caractères en Java à l'aide de la classe Scanner.

Introduction

Ce tutoriel peut être réalisé à l'aide d'un simple éditeur de texte comme le « bloc note » ou d'un IDE tels « qu'Eclipse » ou  « Netbeans ». Il nécessite des connaissances de base en Java.

Créer l'objet Scanner

La manière la plus simple pour parser une chaine de caractères ou un fichier csv et récupérer les différentes parties qui la compose est d'utiliser la classe Scanner.
Pour créer un objet Scanner il vous suffit d'appeler son constructeur en lui passant la chaine de caractères à parser.

Voici un exemple:

Scanner scan = new Scanner("10,11,00,10,10,11,01,00,11,11,10,00");

Ensuite ont défini le délimiteur de cette chaine de caractères:

scan.useDelimiter(",");

Parser la chaine de caractères

Pour parser la chaine de caractères, nous allons utiliser deux types de méthode:

  • hasNext() : indique s'il reste encore des éléments à récupérer;
  • next() :  récupère le prochain élément;

Ces deux méthodes existent en plusieurs variantes afin de récupérer des éléments de type int, double, short, ...

Voici la liste des méthodes disponibles:

  • hasNext() : Retourne « vrai » s'il reste encore des éléments à récupérer;
  • hasNextBigDecimal() : Retourne « vrai » si le prochain élément est de type BigDecimal;
  • hasNextBigInteger() : Retourne « vrai » si le prochain élément est de type BigInteger;
  • hasNextBoolean() : Retourne « vrai » si le prochain élément est de type boolean ( "true|false" );
  • hasNextByte() : Retourne « vrai » si le prochain élément est de type byte;
  • hasNextDouble() : Retourne « vrai » si le prochain élément est de type double;
  • hasNextFloat() : Retourne « vrai » si le prochain élément est de type float;
  • hasNextInt() : Retourne « vrai » si le prochain élément est de type int;
  • hasNextLine() : Retourne « vrai » s'il reste encore des lignes à récupérer;
  • hasNextLong() : Retourne « vrai » si le prochain élément est de type long;
  • hasNextShort() : Retourne « vrai » si le prochain élément est de type short;
  • next() : Retourne le prochain élément;
  • nextBigDecimal() : Parse le prochain élément en tant que BigDecimal;
  • nextBigInteger() : Parse le prochain élément en tant que BigInteger;
  • nextBoolean() : Parse le prochain élément en tant que booléen et retourne sa valeur;
  • nextByte() : Parse le prochain élément en tant que byte;
  • nextDouble() : Parse le prochain élément en tant que double;
  • nextFloat() : Parse le prochain élément en tant que float;
  • nextInt() : Parse le prochain élément en tant quen int;
  • nextLine() : Retourne la prochaine ligne;
  • nextLong() : Parse le prochain élément en tant que long;
  • nextShort() : Parse le prochain élément en tant que short;

Voici un exemple complet:

Scanner scan = new Scanner("10,11,00,10,10,11,01,00,11,11,10,00");
scan.useDelimiter(",");
while(scan.hasNextInt()){
    System.out.println(scan.nextInt());
}
scan.close();

Voici un autre exemple avec un fichier csv:

Scanner scan = new Scanner(new File("./tutorielsenfolie.csv"));
scan.useDelimiter(",");
while(scan.hasNextInt()){
    System.out.println(scan.nextInt());
}
scan.close();

NB: N'oubliez pas de fermer le scanner lorsque vous avez terminé. Cela est d'autant plus important lorsque vous travaillez sur des fichiers.

Tu as aimé ce tutoriel ?
Aide nous à améliorer le site ! Deviens partenaire officiel ou suis nous sur facebook !

<<Tutoriel précédent 

Commentaires[0]

Tu as aimé ce tutoriel ? Alors partage-le avec tes amis !
Partager sur Facebook Partager sur Twitter Partager sur Myspace Partager sur Stumbleupon Soumettre sur Reddit Partager sur Digg Ajouter à vos favoris Technorati Ajouter à vos favoris Live Ajouter à vos favoris Google Ajouter sur vos favoris Yahoo Voir le flux rss

Mots Clés: chaine de caractéres csv Java parser

Veve :
(11/04/2013 - 17:19:44)
il faut juste mettre "sudo" à la place de "su" pour exécuter la commande en root

Veve :
(11/04/2013 - 17:18:56)
Salut tu peux aller lire ce tutoriel: http://www.tutorielsenfolie.com/tutoriels-63-installation-configuration-opennebula.html Il fonctionne aussi sous ubuntu

safa.souissi4 :
(10/04/2013 - 20:58:13)
s'il vous plait c urgent :(

safa.souissi4 :
(10/04/2013 - 20:56:25)
bonsoir,je cherche un tutos pour installer opennebula.org sous ubuntu 12.

Veve :
(18/03/2013 - 20:07:49)
oui, j'essaye de voir d'ou viens le problème.

sonde :
(18/03/2013 - 13:29:57)
re merci (j apprend un peu plus) je crois que j ai trouver pourquoi je peu pas poster si il y a ligne code impossible de poster lol

Veve :
(17/03/2013 - 21:34:49)
Salut, j'espère que ça t'a aidé.

sonde :
(17/03/2013 - 09:59:02)
pour ton aide

sonde :
(17/03/2013 - 09:57:36)
slt Veve impossible de laisser com

sonde :
(17/03/2013 - 09:56:55)
??

Demi-dieu :
(15/03/2013 - 18:41:13)
salut ^^

sonde :
(13/03/2013 - 14:49:35)
un petit coucou

Tanamoureuse :
(29/09/2011 - 06:11:08)
Je t'aime

Faire un don

Ma Publicité ici


Faire un don