Il est possible de séparer les éléments d'une chaîne de caractères en utilisant un "caractère séparateur" :

La méthode "split" prend 2 arguments : la chaîne de caractères à séparer et le "caractère séparateur"


split("tata;titi;toto",";")
        

Dans l'exemple ci-dessus, la méthode "split" retourne le tableau suivant : {"tata","titi","toto"}

À faire vous-même 2.1

Saisissez, analysez et testez ce code


String str="toto;titi;tata";
String[] tab=split(str,";");
println(tab.length);
println(tab[1]);
        

Il est tout à fait possible d'utiliser le caractère "espace" comme "caractère séparateur". Il suffira d’écrire : split(str," " );

À faire vous-même 2.2

Écrivez un programme permettant de séparer les différents mots d'une phrase. Par exemple, en partant de la phrase "Bonjour le monde", votre programme devra permettre d'afficher ceci :


le mot n°0 est 'Bonjour'
le mot n°1 est 'le'
le mot n°2 est 'monde'
        

Attention votre programme devra fonctionner avec n'importe quelle phrase (donc avec n'importe quel nombre de mots).

Pour vous aider : pour que le programme fonctionne avec n'importe quelle phrase, il sera sans doute nécessaire d'utiliser une boucle.


À faire vous-même 2.3

Écrivez un programme permettant d'inverser les mots d'une phrase. Par exemple, pour la phrase "Bonjour le monde", on obtiendra "monde le Bonjour"

Pour vous aider : il faudra (sans doute) utiliser la concaténation.


La méthode "splitTokens" est une méthode "cousine" de la méthode "split" qui permet de considérer plusieurs "caractères séparateurs" en même temps.

À faire vous-même 2.4

Saisissez, analysez et testez ce code


String str="toto titi,tata;tutu! hello";
String[] tab=splitTokens(str," ;,!");
for (int i=0;i<tab.length;i=i+1){
    println(tab[i]);
}
        

Les "caractères séparateurs" sont placés les uns à la suite des autres (y compris le caractère "espace").


La méthode "join" a l'effet inverse de la méthode "split" :

À partir d'un tableau contenant des chaînes de caractères, la méthode "join" crée une chaîne unique. Chaque élément est séparé par un "caractère de séparation"

À faire vous-même 2.5

Saisissez, analysez et testez ce code


String[] tab={"toto","titi","tata"};
String st=join(tab,";");
println(st);
        

À faire vous-même 2.6

Écrivez un programme permettant d'obtenir la chaîne "Bonjour le monde" à partir de la chaîne "Bonjour*le*monde" :


Avant : Bonjour*le*monde
Après : Bonjour le monde