Split une chaine de caractere java

[Résolu/Fermé]
Signaler
Messages postés
82
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
6 avril 2015
-
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
-
Bonjour,

je veux spliter ou découper ma chaine en {SAMI,ANA,noura},j'ai utilisé ce code ,mais le pb et que il consider 'AN' comme séparateur ausssi ,

String maChaine = "SAMI and  ANA and noura";
java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(maChaine, "and");
while ( tokenizer.hasMoreTokens() ) {
    System.out.println(tokenizer.nextToken());
}



il y a t'il une méthode pour decouper ma chaine de cette facon
merci Bcp



3 réponses

Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879
Tu parles de split, alors pourquoi tu ne l'utilises pas ?

String[] tab = maChaine.split("\\s+and\\s+"); // "and" avec au moins un espace avant et après

for (String s : tab)
	System.out.println(s);
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
82
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
6 avril 2015
13
ma question svp est pourquoi Stringtokenizer ne fonctionne pas dans le cas le délimteur chaine de caracteres
merci
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879
De la manière que tu as fait, ce n'est pas la chaîne de caractères "and" qui délimite les token, mais les caractères 'a', 'n', et 'd', indépendamment les uns des autres.

Tu peux regarder par exemple avec maChaine = "1a2n3d4an5ad6nd7and8";
Messages postés
82
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
6 avril 2015
13
merci bcp KX
enfin j'ai réussi a découper ma chaine

String str = machaine; 
  String[] temp; 
  
  String delimiter = "and"; 
  /* given string will be split by the argument delimiter provided. */ 
  temp = str.split(delimiter); 
  /* print substrings */ 
  for(int i =0; i < temp.length ; i++) 
    System.out.println(" split function"+temp[i]);


merci encore une fois
Salut,

Ou bien:
String[] items = maChaine.split(" +and +");  // " +" = au moins 1 espace
          
         int nI = 0;  
         for (String str : items)  
         {  
            System.out.println("item" + nI + " = " + str);  
            nI++;  
         }  

Cordialement,

Dan

--Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.