Det java.util.StringTokenizer klasse giver dig mulighed for at opdele en streng i tokens. Det er en simpel måde at bryde en streng på. Det er en legacy klasse af Java.
Det giver ikke mulighed for at differentiere tal, citerede strenge, identifikatorer osv. som StreamTokenizer-klassen. Vi vil diskutere StreamTokenizer-klassen i I/O-kapitlet.
I StringTokenizer-klassen kan afgrænsningerne leveres på oprettelsestidspunktet eller én efter én til tokens.
Konstruktører af StringTokenizer-klassen
Der er defineret 3 konstruktører i StringTokenizer-klassen.
Konstruktør | Beskrivelse |
---|---|
StringTokenizer(String str) | Det opretter StringTokenizer med specificeret streng. |
StringTokenizer(String str, String delim) | Det opretter StringTokenizer med specificeret streng og afgrænser. |
StringTokenizer(String str, String delim, boolean returnValue) | Det opretter StringTokenizer med specificeret streng, afgrænser og returnValue. Hvis returværdien er sand, anses afgrænsningstegn for at være tokens. Hvis det er falsk, tjener afgrænsningstegn til at adskille tokens. |
Metoder til StringTokenizer-klassen
De seks nyttige metoder i StringTokenizer-klassen er som følger:
række af strenge c programmering
Metoder | Beskrivelse |
---|---|
boolean hasMoreTokens() | Den tjekker, om der er flere tokens tilgængelige. |
String nextToken() | Det returnerer det næste token fra StringTokenizer-objektet. |
String nextToken(String delim) | Det returnerer det næste token baseret på afgrænsningstegnet. |
boolean hasMoreElements() | Det er det samme som hasMoreTokens()-metoden. |
Objekt næsteElement() | Det er det samme som nextToken(), men dets returtype er Object. |
int countTokens() | Det returnerer det samlede antal tokens. |
Eksempel på StringTokenizer Class
Lad os se et eksempel på StringTokenizer-klassen, der tokeniserer en streng 'mit navn er khan' på basis af mellemrum.
Simple.java
find min iphone android
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()); } } }
Produktion:
my name is khan
Ovenstående Java-kode demonstrerer brugen af StringTokenizer-klassen og dens metoder hasMoreTokens() og nextToken().
Eksempel på nextToken(String delim)-metoden i StringTokenizer-klassen
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(',')); } }
Produktion:
Next token is : my
Bemærk: StringTokenizer-klassen er forældet nu. Det anbefales at bruge split()-metoden fra String-klassen eller Pattern-klassen, der hører til pakken java.util.regex.
Eksempel på hasMoreTokens()-metoden i StringTokenizer-klassen
Denne metode returnerer sand, hvis flere tokens er tilgængelige i tokenizer-strengen ellers returnerer falsk.
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()); } } }
Produktion:
html listeboks
Demonstrating methods from StringTokenizer class
Ovenstående Java-program viser brugen af to metoder hasMoreTokens() og nextToken() af StringTokenizer-klassen.
Eksempel på hasMoreElements()-metoden i StringTokenizer-klassen
Denne metode returnerer den samme værdi som hasMoreTokens()-metoden i StringTokenizer-klassen. Den eneste forskel er, at denne klasse kan implementere Enumeration-grænsefladen.
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()); } } }
Produktion:
afgrænser java
Hello everyone I am a Java developer
Ovenstående kode demonstrerer brugen af hasMoreElements() metoden.
Eksempel på metoden nextElement() i StringTokenizer-klassen
nextElement() returnerer det næste token-objekt i tokenizer-strengen. Det kan implementere enumeration interface.
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()); } } }
Produktion:
Hello Everyone Have a nice day
Ovenstående kode demonstrerer brugen af nextElement() metoden.
gør mens loop java
Eksempel på countTokens()-metoden i StringTokenizer-klassen
Denne metode beregner antallet af tokens til stede i tokenizer-strengen.
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()); } }
Produktion:
Total number of Tokens: 6
Ovenstående Java-kode demonstrerer countTokens()-metoden i StringTokenizer()-klassen.