Compter les caractères d'une chaîne de caractères en Java

  1. Utilisez String.length() pour compter le nombre total de caractères dans une chaîne Java
  2. Utiliser le flux Java 8 pour compter les caractères dans une chaîne Java
  3. Utilisez Loop et charAt() pour compter un caractère spécifique dans une chaîne Java

Aujourd’hui, nous allons présenter plusieurs façons de compter les caractères d’une chaîne Java donnée. Nous compterons les caractères totaux et les caractères spécifiques.

Utilisez String.length() pour compter le nombre total de caractères dans une chaîne Java

La pratique la plus courante pour obtenir le nombre total de caractères dans une chaîne Java est d’utiliser la méthode length(). Dans le code ci-dessous, nous avons une chaîne exampleString et nous utiliserons exampleString.length() pour obtenir la longueur totale de cette chaîne.

La sortie montre qu’il y a 28 caractères dans exampleString alors qu’il n’y a que 23 caractères. Cela se produit parce que String.length() compte aussi les espaces. Pour résoudre ce problème, nous pouvons utiliser la fonction replace() pour remplacer tous les espaces par un caractère vide qui n’est pas compté. Enfin, nous pouvons obtenir la longueur de la chaîne sans aucun espace, qui est de 23.

public class CountCharsInString {
    public static void main(String[] args) {

        String exampleString = "This is just a sample string";

        int stringLength = exampleString.length();

        System.out.println("String length: " + stringLength);

        int stringLengthWithoutSpaces = exampleString.replace(" ", "").length();
        System.out.println("String length without counting whitespaces: " + stringLengthWithoutSpaces);
    }
}

Production :

String length: 28
String length without counting whitespaces: 23

Utiliser le flux Java 8 pour compter les caractères dans une chaîne Java

Une autre façon de compter tous les caractères d’une chaîne est d’utiliser la méthode String.chars().count() qui retourne le nombre total de caractères de la chaîne, mais en incluant les espaces. Comme chars() est un flux, nous pouvons utiliser la méthode filter() pour ignorer les espaces. filter(ch -> ch != ' ') vérifie chaque caractère et s’il trouve un espace, il le filtre.

public class CountCharsInString {
    public static void main(String[] args) {

        String exampleString = "This is just a sample string";

        long totalCharacters = exampleString.chars().filter(ch -> ch != ' ').count();

        System.out.println("There are total " + totalCharacters + " characters in exampleString");
    }
}

Production :

There are total 23 characters in exampleString

Utilisez Loop et charAt() pour compter un caractère spécifique dans une chaîne Java

Nous avons compté le nombre total de caractères dans une chaîne, mais l’exemple ci-dessous montre la méthode pour compter un caractère spécifique dans la chaîne. Notre objectif est d’obtenir le nombre de i dans la exampleString. Pour y parvenir, nous avons utilisé une boucle qui va jusqu’à la fin de la chaîne.

Nous créons deux variables supplémentaires : totalCharacters qui tiendra le compte, et temp qui tiendra chaque caractère individuel en utilisant exampleString.charAt(i). Pour vérifier l’occurrence de notre caractère, nous comparerons le temp avec notre caractère pour vérifier s’ils correspondent. Si elle trouve une correspondance, alors totalCharacters sera incrémenté de un. Une fois la boucle terminée, nous pouvons voir le nombre total d’occurrences de notre personnage dans la chaîne de caractères.

public class CountCharsInString {
    public static void main(String[] args) {

        String exampleString = "This is just a sample string";

        int totalCharacters = 0;
        char temp;
        for (int i = 0; i < exampleString.length(); i++) {

            temp = exampleString.charAt(i);
            if (temp == 'i')
                totalCharacters++;
        }

        System.out.println("i appears " + totalCharacters + " times in exampleString");
    }
}

Production :

i appears 3 times in exampleString

Article connexe - Java String

  • Comment convertir une chaîne Java en octet
  • Comment convertir un tableau d'octets en chaîne hexadécimale en Java
  • Article connexe - Java Char

  • Obtenir un caractère à partir de l'entrée en Java
  • Comment vérifier si une variable est une chaîne de caractères en JavaScript