Obtenha a contagem de palavras de uma string em Java
-
Use
StringTokenizer
para contar palavras em uma string em Java -
Use
split()
e Expressão Regular para contar palavras em uma string em Java - Obtenha o número de vezes que uma palavra é repetida em uma string em Java
Neste artigo, vamos lançar alguma luz sobre como contar o número de palavras em uma string em Java e as diferentes maneiras de fazer isso.
Use StringTokenizer
para contar palavras em uma string em Java
A classe StringTokenizer
em Java nos permite quebrar uma string em vários tokens. Os métodos nesta classe não diferenciam entre strings, identificadores e números entre aspas, nem reconhecem ou ignoram comentários. Os caracteres que separam os tokens (delimitadores) podem ser especificados no momento da criação ou por token.
A classe StringTokenizer
não conta os espaços em branco e as guias automaticamente, portanto, é tratada por conta própria.
import java.util.StringTokenizer;
public class WordCount {
public static void main(String args[]) {
String mydelim = " - ";
String myString = "The sky - - is blue!";
StringTokenizer stringTokenizer1 = new StringTokenizer(myString);
StringTokenizer stringTokenizer2 = new StringTokenizer(myString, mydelim);
int tokensCount1 = stringTokenizer1.countTokens();
int tokensCount2 = stringTokenizer2.countTokens();
System.out.println("Word count without delimiter: " + String.valueOf(tokensCount1));
System.out.println("Word count: " + String.valueOf(tokensCount2));
}
}
Resultado:
Word count without delimiter : 6 Word count : 4
Aqui, criamos stringTokenizer1
passando uma string no construtor, ele usa o delimitador padrão, enquanto para stringTokenizer2
o delimitador personalizado para tokens separados é passado. A primeira abordagem conta hífens, enquanto a segunda não.
Use split()
e Expressão Regular para contar palavras em uma string em Java
O método split(String regex)
em Java usa uma expressão regular e quebra a string fornecida que corresponde à regex e retorna um array de strings.
A expressão regular que usamos aqui é \\s+
que separa o espaço em branco da string ou, em outras palavras, divide a string dada em torno do espaço em branco. O número de palavras na string é igual ao comprimento do array string palavras
que podemos obter chamando length
nele. A saída mostra o número de palavras em myStr
.
public class WordCount {
public static void main(String args[]) {
String myStr = "the butcher's wife, she was from Montreal";
String[] words = myStr.split("\\s+");
System.out.println("Word Count is: " + words.length);
}
}
Resultado:
Word Count is: 7
Obtenha o número de vezes que uma palavra é repetida em uma string em Java
Podemos calcular o número de vezes que uma palavra é repetida em uma determinada string. Aqui, randomText
é uma string na qual precisamos encontrar quantas vezes a palavra blue
é repetida. Para isso, pegamos uma variável times
do tipo int
e inicializamos como 0. Execute um loop for
de 0 até o comprimento de randomText
.
O método startsWith()
compara se a string começa com os caracteres de uma determinada string. Para i = 0
o método randomText.substring(0)
obtém substring no índice 0 e verifica se startsWith("blue")
e se corresponde, então incrementará vezes
em 1; caso contrário, não aumentará.
Da mesma forma, ele verifica o resto do comprimento e imprime o número de vezes que a palavra foi repetida na string fornecida como saída.
public class WordCount {
public static void main(String args[]) {
String randomText = "The sky is blue it meets the sea which is also blue";
String text = "blue";
int times = 0;
for (int i = 0; i < randomText.length(); i++) {
if (randomText.substring(i).startsWith(text)) {
times++;
}
}
System.out.println(randomText + " contains " + text + " " + times + " times");
}
}
Resultado:
The sky is blue it meets the sea which is also blue contains blue 2 times
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