CodeGym /Blog Java /Random-PL /StringTokenizer w Javie
John Squirrels
Poziom 41
San Francisco

StringTokenizer w Javie

Opublikowano w grupie Random-PL
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.

Klasa StreamTokenizera

Chociaż klasa StringTokenizer zapewnia prosty sposób podziału ciągu na tokeny, ma pewne ograniczenia. Na przykład nie obsługuje wielu ograniczników ani różnych typów tokenów, takich jak liczby i słowa. Jeśli potrzebujesz bardziej zaawansowanych możliwości tokenizacji, możesz skorzystać z klasy StreamTokenizer . Ta klasa zapewnia większą elastyczność i może obsługiwać różne typy danych wejściowych. Aby utrwalić zdobytą wiedzę, sugerujemy obejrzenie lekcji wideo z naszego kursu Java

Wniosek

W tym artykule przyjrzeliśmy się klasie StringTokenizer w Javie i zobaczyliśmy, jak można jej użyć do podzielenia ciągu znaków na tokeny. Widzieliśmy także, jak używać niektórych metod klasy do wykonywania różnych operacji na tokenach, takich jak pobieranie ich długości i pobieranie określonych tokenów według indeksu. Chociaż klasa StringTokenizer jest prostym i użytecznym narzędziem, ma swoje ograniczenia. Jeśli potrzebujesz bardziej zaawansowanych możliwości tokenizacji, rozważ użycie klasy StreamTokenizer lub mocniejszej biblioteki, takiej jak Apache Commons Lang. Decydując, jakich narzędzi i technik użyć, pamiętaj, aby zawsze brać pod uwagę specyficzne potrzeby swojego projektu. Dzięki solidnemu zrozumieniu klas i metod manipulacji ciągami znaków w Javie możesz z łatwością poradzić sobie nawet z najbardziej złożonymi zadaniami manipulacji ciągami.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION