PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java - StringTokenizer - Delimiter feststellen



dancing_coder
19-08-2004, 00:40
Hi,
ich verwende für eine kleine Textdatei momentan den Java StringTokenizer um die Tokens zu extrahieren.

Nun würde mich interessieren ob man feststellen kann welches Trennzeichen dafür verantwortlich war, dass das Token erzeugt wurde.

Beispiel:



String temp = "Hallo-ihr da.mein name ist bill.";
String input;
StringTokenizer tok = new StringTokenizer(temp,".-");
...
while(tok.hasMoreTokens())
{
input = tok.nextToken();
....
System.out.println(input);
}


Der Code ist natürlich sehr stark nun vereinfacht und aufs wesentliche reduziert. Dabei sollte erscheinen:

Hallo
ihr
da
mein
name
ist
bill

Doch wie kann ich z.B. feststellen ob der Bindestrich oder der Punkt für die Zeichenkette zuständig war? Bzw. das es dadurch getrennt wurde.

hoffentlich versteht ihr die frage. scheint zwar sinnlos zu sein, aber es hat für mich eine wichtige bedeutung...

danke im voraus

anda_skoa
19-08-2004, 04:36
Eine Möglichkeit die mir so auf die Schnelle einfällt wäre zuerst nur nach einem Zeichen zu trennen und dann in der Schleife nach dem zweiten.

Also praktisch zwei verschachtelte Schleifen mit zwei Tokenizern

Oder in der derzeitigen Kontruktion nach dem Token im Ausgangsstring suchen und das Zeichen davor/danach ansehen.
Das Suchen kann man ja verkürzen, weil man die letzte Position ja mit angeben kann, sie Suche also auf den Reststring beschränkt wird.

Ciao,
_