MichaelB: StringTokenizer

Beitrag lesen

Hallo,

Wie kann ich diese Strings:

"Befehl1 Parameter1 Parameter2"
"Befehl2 Parameter1 Parameter2"

so einlesen, dass ich als erstes überprüfen kann, um welchen Befehl es sich handelt und als zweites die Parameter in ein Array einlesen?

Um die Parameter einzulesen könnte ich ja den StringTokenizer verwenden, das Problem ist, dass ich ja nicht weiss ab welchem Zeichen ich einlesen muss, da die Befehle unterschiedlich lang sein können...

Das spielt ja für den StringTokenzier keine Rolle. Er unterteilt ja den String nach Trennzeichen (z.B. Leerzeichen).

StringTokenizer st = new StringTokenizer("Befehl1 Parameter1 Parameter2");

String befehl = st.nextToken();
String[] parameter = new String[10]; // maximal 10 Parameter
int i=0;
while (st.hasMoreTokens()) {
   parameter[i++] = st.nextToken();
}

Einfacher und besser geht es übrigens mit der String.split-Funktion.

String[] befehlundparameter
      = "Befehl1 Parameter1 Parameter2".slpit("\s");

In befehlundparameter[0] steht dann "Befehl1"
in befehlundparameter[1] steht "Parameter1"
in befehlundparameter[2] steht dann "Parameter2"

Gruß
  MichaelB