The java.util.StringTokenizer class umožňuje rozdělit řetězec na žetony. Je to jednoduchý způsob, jak zlomit řetězec. Je to starší třída Java.
Neposkytuje možnost rozlišovat čísla, řetězce v uvozovkách, identifikátory atd. jako třída StreamTokenizer. O třídě StreamTokenizer budeme diskutovat v kapitole I/O.
Ve třídě StringTokenizer mohou být oddělovače poskytnuty v době vytvoření nebo jeden po druhém pro tokeny.
Konstruktory třídy StringTokenizer
Ve třídě StringTokenizer jsou definovány 3 konstruktory.
Konstruktér | Popis |
---|---|
StringTokenizer (String str) | Vytvoří StringTokenizer se zadaným řetězcem. |
StringTokenizer (String str, String delim) | Vytvoří StringTokenizer se zadaným řetězcem a oddělovačem. |
StringTokenizer(String str, String delim, boolean returnValue) | Vytváří StringTokenizer se zadaným řetězcem, oddělovačem a returnValue. Pokud je návratová hodnota true, oddělovací znaky se považují za tokeny. Pokud je nepravda, oddělovací znaky slouží k oddělení tokenů. |
Metody třídy StringTokenizer
Šest užitečných metod třídy StringTokenizer je následujících:
Metody | Popis |
---|---|
boolean hasMoreTokens() | Zkontroluje, zda je k dispozici více tokenů. |
Řetězec nextToken() | Vrátí další token z objektu StringTokenizer. |
String nextToken (String delim) | Vrátí další token na základě oddělovače. |
boolean hasMoreElements() | Je to stejné jako metoda hasMoreTokens(). |
Objekt nextElement() | Je stejný jako nextToken(), ale jeho návratový typ je Object. |
int countTokens() | Vrátí celkový počet tokenů. |
Příklad třídy StringTokenizer
Podívejme se na příklad třídy StringTokenizer, která tokenizuje řetězec 'jmenuji se khan' na základě mezer.
Jednoduché.java
import java.util.StringTokenizer; public class Simple{ public static void main(String args[]){ StringTokenizer st = new StringTokenizer('my name is khan',' '); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Výstup:
my name is khan
Výše uvedený kód Java demonstruje použití třídy StringTokenizer a jejích metod hasMoreTokens() a nextToken().
Příklad metody nextToken(String delim) třídy StringTokenizer
Test.java
import java.util.*; public class Test { public static void main(String[] args) { StringTokenizer st = new StringTokenizer('my,name,is,khan'); // printing next token System.out.println('Next token is : ' + st.nextToken(',')); } }
Výstup:
Next token is : my
Poznámka: Třída StringTokenizer je nyní zastaralá. Doporučuje se použít metodu split() třídy String nebo třídu Pattern, která patří do balíčku java.util.regex.
Příklad metody hasMoreTokens() třídy StringTokenizer
Tato metoda vrátí hodnotu true, pokud je v řetězci tokenizer k dispozici více tokenů, jinak vrátí hodnotu false.
jak funguje počítač
StringTokenizer1.java
import java.util.StringTokenizer; public class StringTokenizer1 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Demonstrating methods from StringTokenizer class',' '); /* Checks if the String has any more tokens */ while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Výstup:
Demonstrating methods from StringTokenizer class
Výše uvedený program Java ukazuje použití dvou metod hasMoreTokens() a nextToken() třídy StringTokenizer.
Příklad metody hasMoreElements() třídy StringTokenizer
Tato metoda vrací stejnou hodnotu jako metoda hasMoreTokens() třídy StringTokenizer. Jediný rozdíl je, že tato třída může implementovat rozhraní Enumeration.
StringTokenizer2.java
import java.util.StringTokenizer; public class StringTokenizer2 { public static void main(String args[]) { StringTokenizer st = new StringTokenizer('Hello everyone I am a Java developer',' '); while (st.hasMoreElements()) { System.out.println(st.nextToken()); } } }
Výstup:
Hello everyone I am a Java developer
Výše uvedený kód demonstruje použití metody hasMoreElements().
Příklad metody nextElement() třídy StringTokenizer
nextElement() vrací další objekt tokenu v řetězci tokenizeru. Může implementovat rozhraní Enumeration.
StringTokenizer3.java
import java.util.StringTokenizer; public class StringTokenizer3 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Hello Everyone Have a nice day',' '); /* Checks if the String has any more tokens */ while (st.hasMoreTokens()) { /* Prints the elements from the String */ System.out.println(st.nextElement()); } } }
Výstup:
základy sestavení ubuntu
Hello Everyone Have a nice day
Výše uvedený kód demonstruje použití metody nextElement().
Příklad metody countTokens() třídy StringTokenizer
Tato metoda vypočítá počet tokenů přítomných v řetězci tokenizeru.
StringTokenizer4.java
import java.util.StringTokenizer; public class StringTokenizer3 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Hello Everyone Have a nice day',' '); /* Prints the number of tokens present in the String */ System.out.println('Total number of Tokens: '+st.countTokens()); } }
Výstup:
Total number of Tokens: 6
Výše uvedený kód Java demonstruje metodu countTokens() třídy StringTokenizer().