Contar caracteres numa string em Java

  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

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

Artigo relacionado - Java String

  • Como Converter String para Data em Java
  • Como Converter Byte Array em String em Java
  • Artigo relacionado - Java Char

  • Como realizar a conversão de string em array de string em Java
  • Como converter a data da string para o timestamp em Java