Contare i caratteri in una stringa in Java

Rupam Yadav 12 ottobre 2023
  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
Contare i caratteri in una stringa in 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 bucle 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 bucle è 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
Autore: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Articolo correlato - Java String

Articolo correlato - Java Char