Ich habe folgendes Problem:
Zwischen zwei Strings möchte ich vergleichen, ob ein INSERT oder REMOVE von Zeichen stattgefunden hat.
Ich habe das Problem im Moment nur annäherungsweise gelöst, indem ich den alten Text wortweise mit dem neuen vergleiche.
Wenn ein Wort nicht mehr vorkommt, hat ein REMOVE stattgefunden, wenn im neuen eines vorkommt, das nicht im alten enthalten ist, ein INSERT.
Aber das ist noch nicht optimal, hierfür müsste man beide Strings zeichenweise vergleichen.
Ich habe folgendes Problem:
Zwischen zwei Strings möchte ich vergleichen, ob ein INSERT
oder REMOVE von Zeichen stattgefunden hat.
Ich habe das Problem im Moment nur annäherungsweise gelöst,
indem ich den alten Text wortweise mit dem neuen vergleiche.
Wenn ein Wort nicht mehr vorkommt, hat ein REMOVE
stattgefunden, wenn im neuen eines vorkommt, das nicht im
alten enthalten ist, ein INSERT.
INSERT und REMOVE als bool’sche Variable definieren.
Eigentlich gibt es nur 3 Situationen:
Naja, ganz so einfach ist die Lösung wohl leider nicht.
Ich möchte die Strings ja nicht insgesamt vergleichen, sondern schon genau wissen, ob Zeichen eingefügt oder entfernt wurden.
Es geht allgemein darum, die Java-Events insert und remove bei einem DocumentListener zu simulieren.
z.B. Ausgangsstring:
Ich baue ein Hause.
neuer String:
Ich ein Haus. -> REMOVE
Ich kein Haus. -> REMOVE, INSERT
etc.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Mit der normalen java-API kann man das nicht einfachso machen. Da musst du selbst ran. Fang mit einem Levenstein-Aglo an. Die Resultat-Matrix kann man auf deine Fälle untersuchen (aber ich weiss nicht mehr genau wie …).