Contar caracteres numa string em Java

Rupam Yadav 12 outubro 2023
  1. Utilize String.length() para contar o total de caracteres numa string Java
  2. Utilizar Java 8 Stream para contar caracteres numa string Java
  3. Utilize Loop e charAt() para contar um caractere específico numa string Java
Contar caracteres numa string em Java

Hoje, vamos introduzir múltiplas formas de contar os caracteres de uma determinada string Java. Iremos contar o total de caracteres e os caracteres específicos.

Utilize String.length() para contar o total de caracteres numa string Java

A prática mais comum para obter a contagem total de caracteres de uma string Java é utilizar o método length(). No código abaixo, temos uma string exampleString e utilizaremos exampleString.length() para obter o comprimento total desta string.

A saída mostra que existem 28 caracteres em exampleString enquanto que existem apenas 23 caracteres. Acontece porque String.length() conta também os espaços em branco. Para resolver este problema, podemos utilizar a função replace() para substituir todos os espaços em branco por um carácter vazio que não é contado. Finalmente, podemos obter o comprimento da string sem quaisquer espaços em branco, que é 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);
  }
}

Resultado:

String length: 28
String length without counting whitespaces: 23

Utilizar Java 8 Stream para contar caracteres numa string Java

Outra forma de contar todos os caracteres de uma string é utilizar o método String.chars().count() que devolve o número total de caracteres na string, mas incluindo os espaços em branco. Como chars() é um fluxo, podemos utilizar o método filter() para ignorar os espaços em branco. O filter(ch -> ch != ' ') verifica todos os caracteres e, se encontrar um espaço em branco, filtrá-lo-á para fora.

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

Resultado:

There are total 23 characters in exampleString

Utilize Loop e charAt() para contar um caractere específico numa string Java

Temos estado a contar o total de caracteres numa string, mas o exemplo abaixo mostra o método de contagem de um carácter específico na string. O nosso objectivo é obter o número de i em exampleString. Para o conseguirmos, utilizámos um laço que corre até ao fim da string.

Criamos duas variáveis adicionais: totalCharacters, que irá manter a contagem, e temp, que irá manter todos os caracteres individuais utilizando exampleString.charAt(i). Para verificar a ocorrência do nosso caractere, iremos comparar temp com o nosso caractere para verificar se correspondem. Se encontrar uma correspondência, então o totalCharacters será incrementado por um. Uma vez terminado o laço, podemos ver o total de ocorrências do nosso carácter na string.

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

Resultado:

i appears 3 times in exampleString
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

Artigo relacionado - Java String

Artigo relacionado - Java Char