C:\daten\javaNotes> java TokenTester Geben Sie einen String ein: wert = 12+8 wert 12 8
Sie betrachten vermutlich das "=" und "+" Zeichen als wichtig,
also sollten sie als Token angesehen werden.
Aber "+" muss ebenfalls als Begrenzer funktionieren,
so dass "12+8"
in die Token "12", "+" und "8" gesplittet wird.
Das kann durch die Verwendung von true
als dritten Parameter
in dem Konstruktor erreicht werden:
Jetzt werden die einzelnen Begrenzungszeichen (genau wie die Token) durch
nextToken()
zurückgegeben.
import java.io.*;
import java.util.*;
public class TokenTester
{
public static void main ( String[] args ) throws IOException
{
BufferedReader stdin =
new BufferedReader(new InputStreamReader(System.in));
System.out.print("Geben Sie einen String ein:");
String str = stdin.readLine();
StringTokenizer tok =
new StringTokenizer( str, " =+-", true );
while ( tok.hasMoreTokens() )
System.out.println( tok.nextToken() );
}
}