Le java.util.StringTokenizer La classe vous permet de diviser une chaîne en jetons. C'est un moyen simple de casser une chaîne. Il s'agit d'une classe héritée de Java.
Il ne permet pas de différencier les nombres, les chaînes entre guillemets, les identifiants, etc. comme la classe StreamTokenizer. Nous discuterons de la classe StreamTokenizer dans le chapitre E/S.
Dans la classe StringTokenizer, les délimiteurs peuvent être fournis au moment de la création ou un par un aux tokens.
Constructeurs de la classe StringTokenizer
Il existe 3 constructeurs définis dans la classe StringTokenizer.
Constructeur | Description |
---|---|
StringTokenizer (chaîne de caractères) | Il crée StringTokenizer avec la chaîne spécifiée. |
StringTokenizer (String str, String delim) | Il crée StringTokenizer avec la chaîne et le délimiteur spécifiés. |
StringTokenizer (String str, String delim, boolean returnValue) | Il crée StringTokenizer avec la chaîne, le délimiteur et la valeur de retour spécifiés. Si la valeur de retour est vraie, les caractères délimiteurs sont considérés comme des jetons. Si c'est faux, les caractères délimiteurs servent à séparer les jetons. |
Méthodes de la classe StringTokenizer
Les six méthodes utiles de la classe StringTokenizer sont les suivantes :
divisé par chaîne java
Méthodes | Description |
---|---|
booléen hasMoreTokens() | Il vérifie s'il y a plus de jetons disponibles. |
Chaîne nextToken() | Il renvoie le jeton suivant de l'objet StringTokenizer. |
Chaîne nextToken (chaîne délimitée) | Il renvoie le jeton suivant en fonction du délimiteur. |
booléen hasMoreElements() | C'est la même chose que la méthode hasMoreTokens(). |
Objet nextElement() | C'est la même chose que nextToken() mais son type de retour est Object. |
int countTokens() | Il renvoie le nombre total de jetons. |
Exemple de classe StringTokenizer
Voyons un exemple de la classe StringTokenizer qui tokenise une chaîne « mon nom est khan » sur la base des espaces.
Simple.java
type de en java
import java.util.StringTokenizer; public class Simple{ public static void main(String args[]){ StringTokenizer st = new StringTokenizer('my name is khan',' '); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Sortir:
my name is khan
Le code Java ci-dessus démontre l'utilisation de la classe StringTokenizer et de ses méthodes hasMoreTokens() et nextToken().
Exemple de méthode nextToken(String delim) de la classe StringTokenizer
Test.java
import java.util.*; public class Test { public static void main(String[] args) { StringTokenizer st = new StringTokenizer('my,name,is,khan'); // printing next token System.out.println('Next token is : ' + st.nextToken(',')); } }
Sortir:
Next token is : my
Remarque : La classe StringTokenizer est désormais obsolète. Il est recommandé d'utiliser la méthode split() de la classe String ou de la classe Pattern qui appartient au package java.util.regex.
Exemple de méthode hasMoreTokens() de la classe StringTokenizer
Cette méthode renvoie vrai si plus de jetons sont disponibles dans la chaîne tokenizer, sinon renvoie faux.
StringTokenizer1.java
import java.util.StringTokenizer; public class StringTokenizer1 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Demonstrating methods from StringTokenizer class',' '); /* Checks if the String has any more tokens */ while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Sortir:
oups en java
Demonstrating methods from StringTokenizer class
Le programme Java ci-dessus montre l'utilisation de deux méthodes hasMoreTokens() et nextToken() de la classe StringTokenizer.
Exemple de méthode hasMoreElements() de la classe StringTokenizer
Cette méthode renvoie la même valeur que la méthode hasMoreTokens() de la classe StringTokenizer. La seule différence est que cette classe peut implémenter l'interface Enumeration.
StringTokenizer2.java
import java.util.StringTokenizer; public class StringTokenizer2 { public static void main(String args[]) { StringTokenizer st = new StringTokenizer('Hello everyone I am a Java developer',' '); while (st.hasMoreElements()) { System.out.println(st.nextToken()); } } }
Sortir:
Hello everyone I am a Java developer
Le code ci-dessus démontre l'utilisation de la méthode hasMoreElements().
Exemple de méthode nextElement() de la classe StringTokenizer
nextElement() renvoie l'objet jeton suivant dans la chaîne tokenizer. Il peut implémenter l’interface d’énumération.
StringTokenizer3.java
couverture du relevé
import java.util.StringTokenizer; public class StringTokenizer3 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Hello Everyone Have a nice day',' '); /* Checks if the String has any more tokens */ while (st.hasMoreTokens()) { /* Prints the elements from the String */ System.out.println(st.nextElement()); } } }
Sortir:
Hello Everyone Have a nice day
Le code ci-dessus démontre l'utilisation de la méthode nextElement().
Exemple de méthode countTokens() de la classe StringTokenizer
Cette méthode calcule le nombre de jetons présents dans la chaîne tokenizer.
StringTokenizer4.java
import java.util.StringTokenizer; public class StringTokenizer3 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Hello Everyone Have a nice day',' '); /* Prints the number of tokens present in the String */ System.out.println('Total number of Tokens: '+st.countTokens()); } }
Sortir:
Total number of Tokens: 6
Le code Java ci-dessus illustre la méthode countTokens() de la classe StringTokenizer().