Contare i caratteri in una stringa in Java

  1. Usa String.length() per contare i caratteri totali in una stringa Java
  2. Usa Java 8 Stream per contare i caratteri in una stringa Java
  3. Usa Loop e charAt() per contare un carattere specifico in una stringa Java

Oggi introdurremo diversi modi per contare i caratteri in una determinata stringa Java. Conteremo i caratteri totali e i caratteri specifici.

Usa String.length() per contare i caratteri totali in una stringa Java

La pratica più comune per ottenere il conteggio totale dei caratteri in una stringa Java è usare il metodo length(). Nel codice seguente, abbiamo una stringa exampleString e useremo exampleString.length() per ottenere la lunghezza totale di questa stringa.

L’output mostra che ci sono 28 caratteri in exampleString mentre ci sono solo 23 caratteri. Succede perché String.length() conta anche gli spazi bianchi. Per affrontare questo problema, possiamo usare la funzione replace() per sostituire tutti gli spazi bianchi con un carattere vuoto che non viene conteggiato. Infine, possiamo ottenere la lunghezza della stringa senza spazi bianchi, che è 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);
    }
}

Produzione:

String length: 28
String length without counting whitespaces: 23

Usa Java 8 Stream per contare i caratteri in una stringa Java

Un altro modo per contare tutti i caratteri in una stringa è usare il metodo String.chars().count() che restituisce il numero totale di caratteri nella stringa, ma inclusi gli spazi. Poiché chars() è uno stream, possiamo usare il metodo filter() per ignorare gli spazi. filter(ch -> ch != ' ') Controlla ogni carattere e se trova uno spazio lo filtra.

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");
    }
}

Produzione:

There are total 23 characters in exampleString

Usa Loop e charAt() per contare un carattere specifico in una stringa Java

Abbiamo contato i caratteri totali in una stringa, ma l’esempio seguente mostra il metodo per contare un carattere specifico nella stringa. Il nostro obiettivo è ottenere il numero di i in exampleString. Per ottenere ciò, abbiamo utilizzato un ciclo che viene eseguito fino alla fine della stringa.

Creiamo due variabili aggiuntive: totalCharacters che conterrà il conteggio e temp che conterrà ogni singolo carattere usando exampleString.charAt(i). Per controllare l’occorrenza del nostro carattere, confronteremo temp con il nostro carattere per verificare se corrispondono. Se trova una corrispondenza, allora totalCharacters verrà incrementato di uno. Una volta che il ciclo è finito, possiamo vedere le occorrenze totali del nostro carattere nella stringa.

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");
    }
}

Produzione:

i appears 3 times in exampleString

Articolo correlato - Java String

  • Controlla se una variabile è una stringa in JavaScript
  • Converti array di byte in stringa in Java
  • Articolo correlato - Java Char

  • Converti stringa in data in Java
  • Il metodo Swap in Java