HOWTO · Java
Contar caracteres numa string em Java
Este artigo mostra os passos para contar os caracteres de uma 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