Klasa StringTokenizer w Javie udostępnia metodę tokenizer String służącą do dzielenia ciągu znaków na tokeny w oparciu o określony ogranicznik. Ciąg tokenizera może być dowolnym ciągiem oddzielającym tokeny, takim jak przecinek, średnik lub odstęp. Korzystając z metody tokenizer String klasy StringTokenizer , możemy podzielić ciąg znaków na części składowe. Wywołując metodę nextToken() możemy po kolei pobrać każdy token, a korzystając z metody hasMoreTokens() możemy sprawdzić, czy zostało jeszcze trochę tokenów. Aby uzyskać długość każdego tokena, można zastosować metodę długości () klasy StringTokenizer . StringTokenizer String to przydatne narzędzie do manipulowania ciągami znaków, którego można używać do analizowania plików CSV, adresów URL lub innych danych tekstowych. Klasa StringTokenizer jest częścią pakietu Java.util i zapewnia prosty sposób podziału ciągu znaków na tokeny. Klasa ma dwa konstruktory, jeden pobierający ciąg znaków przeznaczony do tokenizacji oraz znak lub ciąg znaków ogranicznika, a drugi przyjmujący te same argumenty oraz flagę logiczną wskazującą, czy należy uwzględnić ogranicznik jako token. Po utworzeniu obiektu StringTokenizer można używać jego różnych metod do iteracji po tokenach i wykonywania na nich różnych operacji.
Metoda tokenizacji
Metoda tokenizacji to proces dzielenia ciągu na mniejsze części lub tokeny. Proces ten odbywa się za pomocą ogranicznika, którym może być znak lub ciąg znaków oddzielający każdy token. Rozważmy na przykład następujący ciąg:String input = "Hello World! How are you today?";
Jeśli chcemy podzielić ten ciąg na pojedyncze słowa, możemy użyć znaku spacji jako ogranicznika, na przykład:
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println(token);
}
Wyjście
Witaj świecie! Jak się dzisiaj miewasz?
W tym przykładzie tworzymy nowy obiekt StringTokenizer z ciągiem wejściowym i znakiem spacji jako ogranicznikiem. Następnie przeglądamy tokeny za pomocą metody hasMoreTokens() i pobieramy każdy token za pomocą metody nextToken() . Na koniec wypisujemy każdy token na konsolę.
Długość tokena
Oprócz podstawowej funkcjonalności zapewnianej przez metodę nextToken() , klasa StringTokenizer udostępnia także metody pobierania długości każdego tokenu oraz pobierania określonego tokenu według indeksu. Aby poznać długość bieżącego tokena, możesz skorzystać z metody token.length() . Na przykład: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());
}
}
}
Wyjście
Żeton: Witaj Długość: 5 Żeton: Świat! Długość: 6 Żeton: Jak Długość: 3 Żeton: są Długość: 3 Żeton: ty Długość: 3 Żeton: dzisiaj? Długość: 6
W tym przykładzie pobieramy każdy token tak jak poprzednio, ale używamy również metody długości() , aby uzyskać długość każdego tokena, którą następnie wypisujemy na konsoli.
Przykład
Przyjrzyjmy się pełnemu przykładowi ilustrującemu sposób użycia klasy StringTokenizer w Javie: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());
}
}
}
Wyjście
John Doe 123 Main St. Anytown, USA
W tym przykładzie mamy ciąg znaków reprezentujący listę wartości oddzielonych przecinkami. Tworzymy nowy obiekt StringTokenizer z tym ciągiem znaków i przecinkiem jako ogranicznikiem. Następnie przeglądamy tokeny za pomocą metody hasMoreTokens() i pobieramy każdy token za pomocą metody nextToken() . Na koniec wypisujemy każdy token na konsolę. Zauważ, że w tym przykładzie nie użyliśmy metody długości() , ponieważ interesują nas tylko pojedyncze tokeny.
GO TO FULL VERSION