La classe StringTokenizer in Java fornisce un metodo String tokenizer per suddividere una stringa in token in base a un delimitatore specificato. La stringa del tokenizer può essere qualsiasi stringa che separa i token, ad esempio una virgola, un punto e virgola o uno spazio bianco. Utilizzando il metodo tokenizer String della classe StringTokenizer , possiamo dividere una stringa nelle sue parti costituenti. Chiamando il metodo nextToken() , possiamo recuperare ciascun token a turno e, utilizzando il metodo hasMoreTokens() , possiamo verificare se sono rimasti altri token. Il metodo length() della classe StringTokenizer può essere utilizzato per ottenere la lunghezza di ciascun token. StringTokenizer String è uno strumento utile per la manipolazione delle stringhe e può essere utilizzato per analizzare file CSV, URL o altri dati basati su testo. La classe StringTokenizer fa parte del pacchetto Java.util e fornisce un modo semplice per suddividere una stringa in token. La classe ha due costruttori, uno che accetta una stringa da tokenizzare e un carattere o una stringa delimitatore, e un altro che accetta gli stessi argomenti oltre a un flag booleano che indica se includere o meno il delimitatore come token. Dopo aver creato un oggetto StringTokenizer , puoi utilizzare i suoi vari metodi per scorrere i token ed eseguire varie operazioni su di essi.
Metodo di tokenizzazione
Il metodo di tokenizzazione è il processo di suddivisione di una stringa in parti o token più piccoli. Questo processo viene eseguito utilizzando un delimitatore, che può essere un carattere o una stringa di caratteri che separa ciascun token. Consideriamo ad esempio la seguente stringa:String input = "Hello World! How are you today?";
Se vogliamo dividere questa stringa in singole parole, possiamo usare il carattere spazio come delimitatore, in questo modo:
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println(token);
}
Produzione
Ciao mondo! Come stai oggi?
In questo esempio creiamo un nuovo oggetto StringTokenizer con la stringa di input e uno spazio come delimitatore. Quindi eseguiamo il looping dei token utilizzando il metodo hasMoreTokens() e recuperiamo ciascun token utilizzando il metodo nextToken() . Infine, stampiamo ciascun token sulla console.
Lunghezza del token
Oltre alle funzionalità di base fornite dal metodo nextToken() , la classe StringTokenizer fornisce anche metodi per recuperare la lunghezza di ciascun token e per recuperare un token specifico per indice. Per ottenere la lunghezza del token corrente, puoi utilizzare il metodo token.length() . Per esempio: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());
}
}
}
Produzione
Gettone: Ciao Durata: 5 Gettone: Mondo! Lunghezza: 6 Token: Come Lunghezza: 3 Token: sono Lunghezza: 3 Token: tu Lunghezza: 3 Token: oggi? Lunghezza: 6
In questo esempio, recuperiamo ciascun token come prima ma utilizziamo anche il metodo length() per ottenere la lunghezza di ciascun token, che poi stampiamo sulla console.
Esempio
Diamo un'occhiata a un esempio completo che dimostra come utilizzare la classe StringTokenizer in 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());
}
}
}
Produzione
John Doe 123 Main St. Qualsiasi città degli Stati Uniti
In questo esempio, abbiamo una stringa che rappresenta un elenco di valori separati da virgole. Creiamo un nuovo oggetto StringTokenizer con questa stringa e una virgola come delimitatore. Quindi eseguiamo il looping dei token utilizzando il metodo hasMoreTokens() e recuperiamo ciascun token utilizzando il metodo nextToken() . Infine, stampiamo ciascun token sulla console. Tieni presente che non abbiamo utilizzato il metodo length() in questo esempio, poiché siamo interessati solo ai singoli token stessi.
GO TO FULL VERSION