Contar caracteres numa string em Java
-
Utilize
String.length()
para contar o total de caracteres numa string Java - Utilizar Java 8 Stream para contar caracteres numa string Java
-
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
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArtigo relacionado - Java String
- Como converter a string Java em Byte
- Como converter Byte Array em Hex String em Java
- Como realizar a conversão de string em array de string em Java
- Como remover string de string em Java
- Comparar Strings em Java
- Gerar String Aleatória em Java