Dans mon projet asp.net, j'ai deux cordes (en fait, ils sont stockés dans un objet Session, alors je fais un .ToString())C# - Afficher les différences lorsque l'on compare les chaînes
Ce projet fait partie de mes exercices gratuits de langue japonaise sur mon site (italien seulement pour l'instant, donc je ne vais pas lier/spam)
Pour l'instant, je fais un if (original == inputted.ToLower())
, mais je voudrais comparer les chaînes et mettre en évidence les différences sur l'écran
comme ceci:
d'origine: hiroyashi
écrit par l'utilisateur: Hiro ans shi
je pensais de comparer les deux chaînes et enregistrer les différences dans une autre variable, avec des balises HTML, puis l'afficher sur un contrôle Literal ... mais ... si les différences sont nombreuses, ou l'entrée est plus courte ... comment faire cela?
Il semble qu'il soit nécessaire de coder énormément ... ou pas?
Le "y" est commun, alors pourquoi est-il mis en évidence comme une différence? –
En supposant qu'il s'agisse d'une erreur, il s'agit d'un problème très connu généralement appelé le plus long problème de sous-séquence commune; Je suis sûr que vous pouvez trouver des exemples d'algorithmes qui trouvent le LCS des chaînes. Voici mon article sur la façon de le faire avec des tableaux dans JScript, mais vous pouvez facilement l'adapter à des séquences de caractères en C#: http://blogs.msdn.com/ericlippert/archive/2004/07/21/189974.aspx –
ah, j'ai oublié d'ajouter un autre élément de difficulté: le Y est mis en évidence parce que je montre le mauvais SYLLABLE en japonais –