Zeigen Sie die Unterschiede beim Vergleichen von Zeichenfolgen

In meinem asp.net-Projekt habe ich zwei Zeichenfolgen (tatsächlich sind sie in einem Session-Objekt gespeichert, dann mache ich eine .ToString ())

Dieses Projekt ist Teil meiner kostenlosen Japanisch-Sprachübungen auf meiner Website (derzeit nur Italienisch, daher werde ich keine Links / Spam-Mails senden).

Im Moment mache ich eineif (original == inputted.ToLower()) , aber ich möchte die Zeichenfolgen vergleichen und die Unterschiede auf dem Bildschirm hervorheben

so was:

Original: Hiroyashi
Geschrieben von Benutzer: hiroyoshi

Ich dachte daran, die beiden Zeichenfolgen zu vergleichen und die Unterschiede in einer anderen Variablen mit HTML-Tags zu speichern und sie dann in einem Literal-Steuerelement anzuzeigen das zu tun?

Es sieht so aus, als ob eine Menge Code benötigt wird ... oder nicht?

 Eric Lippert16. Juni 2009, 17:13
Das "y" ist gemeinsam. Warum wird es als Unterschied hervorgehoben?
 Magnetic_dud17. Juni 2009, 12:26
Danke für deinen Kommentar, er hat mich in die richtige Richtung gedrängt :) è_é Codierung in Bearbeitung è_é
 Eric Lippert17. Juni 2009, 01:07
OK, wenn Sie zwei Reihen von Silben erstellen können, können Sie mit dem LCS-Algorithmus herausfinden, welche Silben gemeinsam sind und welche nicht.
 Eric Lippert16. Juni 2009, 17:14
Vorausgesetzt, dies ist ein Fehler, handelt es sich um ein sehr bekanntes Problem, das gewöhnlich als das Problem der längsten gemeinsamen Folge bezeichnet wird. Ich bin sicher, dass Sie Beispiele für Algorithmen finden können, die die LCS von Zeichenfolgen ermitteln. Hier ist mein Artikel darüber, wie man es mit Arrays in JScript macht, aber Sie können es ziemlich einfach an Zeichenfolgen in C # anpassen:blogs.msdn.com/ericlippert/archive/2004/07/21/189974.aspx
 Magnetic_dud16. Juni 2009, 22:54
ah, ich habe vergessen, ein weiteres schwierigkeitselement hinzuzufügen: das y ist hervorgehoben, weil ich auf japanisch die falsche SYLLABLE zeige

Antworten auf die Frage(3)

Lösung für das Problem

der dies vor nicht allzu langer Zeit gefragt hat, und im Grunde waren sie auf verschiedene Motoren gerichtet.

Eine schnelle Suche nach Codeplex bringt auf:http://www.codeplex.com/site/search?projectSearchText=diff

Vielleicht lohnt es sich, ein paar davon zu durchsuchen - Sie können möglicherweise etwas in Ihren vorhandenen Code einfügen?

Prost, Terry

 Magnetic_dud16. Juni 2009, 12:44
das sieht perfekt für meinen einsatz aus:mathertel.de/Diff  Danke dir!

ob dies hilfreich wäre, aber so würde ich vorgehen:

Ich würde eine Hashmap verwenden und dort alle Wörter getrennt nach Leerzeichen speichern. Dann würde ich damit das Original abbilden.

Sie können HTML-Tags oder was auch immer hinzufügen, wenn sie unterschiedlich sind.

Bei einem großen Wörterbuch der Wörter wird es hier mit Sicherheit ein Leistungsproblem geben. Die Kodierung selbst würde jedoch nicht lange dauern.

Javascript Diff-Algorithmus, aber er hat die Seite entfernt, auf der erklärt wird, was auf seiner Website geschieht. Es ist immer noch über das Internet erhältlichGoogle Cache obwohl.Entschuldigung, wenn die Verknüpfung schlecht ist, John. Es sollte tun, was Sie wollen, jemand anderes hat es genommen, optimiert und einen Artikel darüber veröffentlichtHier - komplett mit einemTestseite

Ihre Antwort auf die Frage