Aujourd’hui, je vais vous livrer un petit bout de code très pratique en java permettant de découper une chaîne de caractères, en fonction d’un séparateur.
Pour notre exemple, je prendrai une chaîne comprenant des virgules (« , ») .
Découper une chaîne de ce type peut se faire en Java à l’aide de la fonction méthode « split() » de la classe « String « .
Voici le code (sous Eclipse créer un nouveau projet Java et copier/coller ce code dans le main() puis exécutez en cliquant Run ) :
public class Example { public static void main(String args[]) { String[] splitArray = null; //tableau de chaînes //la chaîne à traiter String str = "bonjour, ceci est un bon exemple de découpage d\'un string avec split, génial, no ?"; // On découpe la chaîne "str" à traiter et on récupère le résultat dans le tableau "splitArray" splitArray = str.split(","); for(int i = 0; i< splitArray.length;i++){ // On affiche chaque élément du tableau System.out.println("élement n° " + i + "=[" + splitArray[i]+"]"); } } } /* Sur la sortie en console, vous obtenez : élement n°0=[bonjour] élément n°1=[ ceci est un bon exemple de découpage d'un string avec split] élément n°2=[ génial] élément n°3=[ no ?] */
assez cool la programmation
concernant l’espace,s’il a été considéré comme un separateur?
et merci
oui l’espace peu être considérer comme un séparateur il suffit juste de remplacer la virgule par un espace dans la méthode split.
Bonjour,
J’ai un problème avec mon programme, j’essaye d’afficher tous les mots d’une phrase donnée qui débutent par une voyelle. Pour cela j’ai donc utilisé la méthode du split du dessus pour découper entre chaque espace et j’ai ensuite comparé chaque première lettre des mots avec un tableau de voyelles mais cela ne fonctionne pas comme prévu.
Voici mon code :
public class exo4
{
public static void main(String [] arg)
{ String [] tab={« A », »E », »I », »O », »U », »Y »};
String [] splitEspace=null;
String mot,phrase;
boolean a=false;
System.out.print(« Veuillez saisir un mot : « );
mot=Lire.S();
voyelle(mot,tab);
System.out.print(« Veuillez saisir une phrase : « );
phrase=Lire.S();
splitEspace=phrase.split( » « );
System.out.println(« La liste des mots debutant avec une voyelle est : »);
for(int i=0; i<splitEspace.length; i++)
{ for(int j=0; j<tab.length; j++)
{if(splitEspace[i].substring(0,1).equals(tab[j])) a=true;}
if(a==true) System.out.println(splitEspace[i]);
}
}
public static void voyelle(String m, String t[])
{ boolean b=false;
for(int i=0; i<t.length; i++)
{if(m.substring(0,1).equals(t[i])) b=true;}
if(b==true) System.out.println("Le mot : "+m+", debute par une voyelle");
else System.out.println("Le mot : "+m+", ne debute pas par une voyelle");
}
}
Merci de bien vouloir m'aider car là je ne vois vraiment pas comment résoudre le problème.
Merci beaucoup