UTF-8 Tokenizer in JAVA

Der hier vorgestellte Tokenizer...

… zerlegt Zeichenfolgen in sinnvolle Wortstücke (In eine Liste).

… ist auf Webuser-Texte ausgelegt.

… erhält alle Zeichen außer Leerzeichen, Zeilenumbrüche und Tabs.

… ist auf deutsche Wörter ausgelegt und kann außer den Standard-ASCII-Zeichen ausschließlich mit folgenden Sonderzeichen umgehen: öäüÖÄÜ߀“„’´»«…

… arbeitet mit der Zeichenkodierung UTF8. Dies ist beim Input sehr wichtig, weil sonst die Sonderzeichen nicht richtig überprüft werden können. Der Output ist ebenfalls in UTF8 kodiert.



Vorgehensweise:

·     Es wird eine Startliste erstellt, indem bei allen Leerzeichen, Zeilenumbrüchen und Tabs aufgespalten wird.

·     Alle Wörter werden in einen rekursiven Algorithmus gesteckt. Das heißt, Teilstücke von Wörtern können final eingetragen und Restteilstücke erneut in denselben Algorithmus gesteckt werden. Bleibt eine Zeichenfolge bis zum Schluss nicht zugeordnet, wird diese in die Finalliste eingetragen.
An dieser Stelle werden hauptsächlich „reguläre Ausdrücke“ verwendet um Teilstücke bzw. Tokens zu erkennen.
Ein „partieller Match“ hat zur Folge, dass das „gematchte“ Token in die finale Liste eingetragen wird und der Rest rekursiv weiterverarbeitet wird. Dabei bleibt die Reihenfolge der Tokens erhalten („inorder“).
Es werden jedoch auch „exakte Match“-Überprüfungen gemacht, bei denen kein „Restteilstück“ mehr übrig bleibt.

·     Zu jedem Token wird eine Information über das vorherige und nachfolgende Zeichens mitgenommen. So werden komplexere Bedingungen möglich


Filtertabelle

anzeigen

Beispiele

anzeigen