Split une chaine de caractere java

Résolu/Fermé
djanahana Messages postés 82 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 6 avril 2015 - 28 mars 2012 à 19:31
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 29 mars 2012 à 09:29
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



A voir également:

3 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
28 mars 2012 à 19:37
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
djanahana Messages postés 82 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 6 avril 2015 13
28 mars 2012 à 22:54
ma question svp est pourquoi Stringtokenizer ne fonctionne pas dans le cas le délimteur chaine de caracteres
merci
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
29 mars 2012 à 09:29
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";
0
djanahana Messages postés 82 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 6 avril 2015 13
Modifié par djanahana le 28/03/2012 à 20:33
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
1
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.
0