Split une chaine de caractere java

Résolu
djanahana Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention   13
 
ma question svp est pourquoi Stringtokenizer ne fonctionne pas dans le cas le délimteur chaine de caracteres
merci
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention   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
1
Utilisateur anonyme
 
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