C:\daten\javaNotes> java TokenTester Geben Sie einen String ein: val = 12+8 val = 12 + 8
Beachten Sie, dass die Leerzeichen genauso wie die anderen Begrenzungszeichen und Token zurückgegeben werden. Das könnte vielleicht nicht genau das sein, was Sie wollen. Sie könnten es vorziehen die Leerzeichen völlig zu ignorieren und nur "=+-" als Begrenzungszeichen zu verwenden. Das folgende Programm tut das:
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 ); // KEIN Leerzeichen vor =
while ( tok.hasMoreTokens() )
System.out.println( tok.nextToken().trim() );
}
}
Jetzt gibt nextToken()
die Strings
"val ", "=", " 12", "+", und "8" zurück.
Die trim()
Methode entfernt die Leerzeichen an den beiden Enden der Strings.