Intersult Automaton
Intersult Automaton ist ein Tool zum Auffinden von Wörtern in Zeichenketten bzw. Sequenzen in Daten.

Hintergrund#

Das Auffinden von Wörtern in Zeichenketten findet im einfachsten Fall dadurch statt, indem an jeder Stelle nach dem Wort gesucht wird. Wird gleichzeitig nach vielen Wörtern gesucht, steigt der Aufwand enorm. Intersult Automaton löst das Problem effizient, das heißt nahezu linear zur Länge der zu durchsuchenden Zeichenkette.

Anwendung#

Ein neu erzeugter Automat wird zunächst mit den gesuchten Zeichenketten bestückt, ähnlich einer Map. Anschließend kann der Automat unterschiedliche Operationen durchführen:

Beispiele#

Suchen und Ersetzen#

	CharAutomaton<String> automaton = new CharAutomaton<String>();
	automaton.add("eins", "s1");
	automaton.add("zwei", "s2");
	automaton.add("drei", "s3");
	CharSequence result = automaton.replace(SOURCE);

Details#

Es handelt sich um einen Zustandsautomat, der mit dem Algorithmus von Aho und Corasick erstellt wurde. Der Automat enthält zum Beispiel für 340 deutsche Wörter 2100 Zustände mit entsprechenden Zustandsübergängen.