A classe StringTokenizer em Java fornece um método tokenizer String para dividir uma string em tokens com base em um delimitador especificado. A string do tokenizer pode ser qualquer string que separe os tokens, como vírgula, ponto e vírgula ou espaço em branco. Usando o método tokenizer String da classe StringTokenizer , podemos dividir uma string em suas partes constituintes. Chamando o método nextToken() , podemos recuperar cada token por vez e, usando o método hasMoreTokens() , podemos verificar se ainda há mais tokens. O método length() da classe StringTokenizer pode ser usado para obter o comprimento de cada token. StringTokenizer String é uma ferramenta útil para manipulação de strings e pode ser usada para analisar arquivos CSV, URLs ou outros dados baseados em texto. A classe StringTokenizer faz parte do pacote Java.util e fornece uma maneira simples de dividir uma string em tokens. A classe possui dois construtores, um que leva uma string a ser tokenizada e um caractere ou string delimitador, e outro que leva os mesmos argumentos, bem como um sinalizador booleano indicando se deve ou não incluir o delimitador como um token. Depois de criar um objeto StringTokenizer , você pode usar seus vários métodos para iterar pelos tokens e executar diversas operações neles.
Método de tokenização
O método de tokenização é o processo de dividir uma string em partes menores ou tokens. Esse processo é realizado por meio de um delimitador, que pode ser um caractere ou uma sequência de caracteres que separa cada token. Por exemplo, considere a seguinte sequência:String input = "Hello World! How are you today?";
Se quisermos dividir esta string em palavras individuais, podemos usar o caractere de espaço como delimitador, assim:
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println(token);
}
Saída
Olá Mundo! Como você está hoje?
Neste exemplo, criamos um novo objeto StringTokenizer com a string de entrada e um caractere de espaço como delimitador. Em seguida, percorremos os tokens usando o método hasMoreTokens() e recuperamos cada token usando o método nextToken() . Finalmente, imprimimos cada token no console.
Comprimento do token
Além da funcionalidade básica fornecida pelo método nextToken() , a classe StringTokenizer também fornece métodos para recuperar o comprimento de cada token e para recuperar um token específico por índice. Para obter o comprimento do token atual, você pode usar o método token.length() . Por exemplo:public class StringTokenizerExample {
public static void main(String[] args) {
String input = "Hello World! How are you today?";
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println("Token: " + token + " Length: " + token.length());
}
}
}
Saída
Token: Olá Comprimento: 5 Token: Mundo! Comprimento: 6 Token: Como Comprimento: 3 Token: são Comprimento: 3 Token: você Comprimento: 3 Token: hoje? Comprimento: 6
Neste exemplo, recuperamos cada token como antes, mas também usamos o método length() para obter o comprimento de cada token, que então imprimimos no console.
Exemplo
Vamos dar uma olhada em um exemplo completo que demonstra como usar a classe StringTokenizer em Java:public class Example {
public static void main(String[] args) {
String input = "John,Doe,123 Main St.,Anytown,USA";
StringTokenizer tokenizer = new StringTokenizer(input, ",");
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
}
}
Saída
John Doe 123 Main St. Anytown EUA
Neste exemplo, temos uma string que representa uma lista de valores separados por vírgula. Criamos um novo objeto StringTokenizer com esta string e uma vírgula como delimitador. Em seguida, percorremos os tokens usando o método hasMoreTokens() e recuperamos cada token usando o método nextToken() . Finalmente, imprimimos cada token no console. Observe que não usamos o método length() neste exemplo, pois estamos interessados apenas nos próprios tokens individuais.
GO TO FULL VERSION