CodeGym /Blog Java /Random-FR /StringTokenizer en Java
John Squirrels
Niveau 41
San Francisco

StringTokenizer en Java

Publié dans le groupe Random-FR
La classe StringTokenizer en Java fournit une méthode tokenizer String pour diviser une chaîne en jetons en fonction d'un délimiteur spécifié. La chaîne du tokenizer peut être n'importe quelle chaîne qui sépare les jetons, telle qu'une virgule, un point-virgule ou un espace. En utilisant la méthode tokenizer String de la classe StringTokenizer , nous pouvons diviser une chaîne en ses éléments constitutifs. En appelant la méthode nextToken() , nous pouvons récupérer chaque jeton tour à tour, et en utilisant la méthode hasMoreTokens() , nous pouvons vérifier s'il reste d'autres jetons. La méthode length() de la classe StringTokenizer peut être utilisée pour obtenir la longueur de chaque jeton. StringTokenizer String est un outil utile pour la manipulation de chaînes et peut être utilisé pour analyser des fichiers CSV, des URL ou d'autres données textuelles. La classe StringTokenizer fait partie du package Java.util et fournit un moyen simple de diviser une chaîne en jetons. La classe a deux constructeurs, un qui prend une chaîne à tokeniser et un caractère ou une chaîne délimiteur, et un autre qui prend les mêmes arguments ainsi qu'un indicateur booléen indiquant s'il faut ou non inclure le délimiteur en tant que jeton. Une fois que vous avez créé un objet StringTokenizer , vous pouvez utiliser ses différentes méthodes pour parcourir les jetons et effectuer diverses opérations sur eux.

Méthode de tokenisation

La méthode de tokenisation est le processus de division d'une chaîne en parties ou jetons plus petits. Ce processus est effectué à l'aide d'un délimiteur, qui peut être un caractère ou une chaîne de caractères séparant chaque jeton. Par exemple, considérons la chaîne suivante :
String input = "Hello World! How are you today?";
Si nous voulons diviser cette chaîne en mots individuels, nous pouvons utiliser le caractère espace comme délimiteur, comme ceci :
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
    String token = tokenizer.nextToken();
    System.out.println(token);
}

Sortir

Bonjour le monde! Comment allez-vous aujourd'hui?
Dans cet exemple, nous créons un nouvel objet StringTokenizer avec la chaîne d'entrée et un espace comme délimiteur. Nous parcourons ensuite les jetons à l’aide de la méthode hasMoreTokens() et récupérons chaque jeton à l’aide de la méthode nextToken() . Enfin, nous imprimons chaque jeton sur la console.

Longueur du jeton

En plus des fonctionnalités de base fournies par la méthode nextToken() , la classe StringTokenizer fournit également des méthodes pour récupérer la longueur de chaque jeton et pour récupérer un jeton spécifique par index. Pour obtenir la longueur du jeton actuel, vous pouvez utiliser la méthode token.length() . Par exemple:
public class StringTokenizerExample {
    public static void main(String[] args) {
        String input = "Hello World! How are you today?";
        StringTokenizer tokenizer = new StringTokenizer(input, " ");
        while (tokenizer.hasMoreTokens()) {
            String token = tokenizer.nextToken();
            System.out.println("Token: " + token + " Length: " + token.length());
        }
    }
}

Sortir

Jeton : Bonjour Longueur : 5 Jeton : Monde ! Longueur : 6 Jeton : Comment Longueur : 3 Jeton : sont Longueur : 3 Jeton : vous Longueur : 3 Jeton : aujourd'hui ? Longueur : 6
Dans cet exemple, nous récupérons chaque jeton comme avant mais utilisons également la méthode length() pour obtenir la longueur de chaque jeton, que nous imprimons ensuite sur la console.

Exemple

Jetons un coup d'œil à un exemple complet qui montre comment utiliser la classe StringTokenizer en Java :
public class Example {
    public static void main(String[] args) {
        String input = "John,Doe,123 Main St.,Anytown,USA";
        StringTokenizer tokenizer = new StringTokenizer(input, ",");
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

Sortir

John Doe 123 Main St. Anytown États-Unis
Dans cet exemple, nous avons une chaîne qui représente une liste de valeurs séparées par des virgules. Nous créons un nouvel objet StringTokenizer avec cette chaîne et une virgule comme délimiteur. Nous parcourons ensuite les jetons à l’aide de la méthode hasMoreTokens() et récupérons chaque jeton à l’aide de la méthode nextToken() . Enfin, nous imprimons chaque jeton sur la console. Notez que nous n’avons pas utilisé la méthode length() dans cet exemple, car nous ne nous intéressons qu’aux jetons individuels eux-mêmes.

Classe StreamTokenizer

Bien que la classe StringTokenizer fournisse un moyen simple de diviser une chaîne en jetons, elle présente certaines limites. Par exemple, il ne peut pas gérer plusieurs délimiteurs ou différents types de jetons, tels que des nombres et des mots. Si vous avez besoin de fonctionnalités de tokenisation plus avancées, vous pouvez utiliser la classe StreamTokenizer . Cette classe offre plus de flexibilité et peut gérer différents types d’entrée. Pour renforcer ce que vous avez appris, nous vous proposons de regarder une leçon vidéo de notre cours Java

Conclusion

Dans cet article, nous avons exploré la classe StringTokenizer en Java et vu comment elle peut être utilisée pour diviser une chaîne en jetons. Nous avons également vu comment utiliser certaines méthodes de la classe pour effectuer diverses opérations sur les jetons, comme obtenir leur longueur et récupérer des jetons spécifiques par index. Bien que la classe StringTokenizer soit un outil simple et utile, elle a ses limites. Si vous avez besoin de fonctionnalités de tokenisation plus avancées, envisagez d'utiliser la classe StreamTokenizer ou une bibliothèque plus puissante telle qu'Apache Commons Lang. N'oubliez pas de toujours tenir compte des besoins spécifiques de votre projet lorsque vous décidez des outils et des techniques à utiliser. Avec une solide compréhension des classes et méthodes de manipulation de chaînes de Java, vous pouvez facilement aborder même les tâches de manipulation de chaînes les plus complexes.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION