C # - показать различия при сравнении строк

В моем проекте asp.net у меня есть две строки (фактически, они хранятся в объекте Session, затем я делаю .ToString ())

Этот проект является частью моих бесплатных упражнений на японском языке на моем веб-сайте (только на итальянском языке, поэтому я не буду ссылаться / спамить)

Пока я делаю a if (original == inputted.ToLower()), но я хотел бы сравнить строки и выделить различия на экране

как это:

оригинал: hiroyashi
написал пользователь: hiro yo shi

я думал сравнить две строки и сохранить различия в другой переменной, с тегами HTML, а затем показать ее в элементе управления Literal ... но ... если различий много, или ввод короче ... как сделать это?

Похоже, что нужно огромное количество кодирования ... или нет?

c#,asp.net,string,

5

Ответов: 3


3 принят

Кажется, я помню, как кто-то спрашивал об этом не так давно, и по сути они указывали на разностные двигатели.

Быстрый поиск на codeplex вызывает: http://www.codeplex.com/site/search?projectSearchText=diff

Может стоить охоты через некоторые из тех, которые приходят - вы можете подключить что-то в свой существующий код?

Приветствия, Терри


2

Джон Ресиг написал алгоритм javascript diff , но он удалил страницу, объясняющую, что она делает с его сайта. Тем не менее, он по-прежнему доступен через кеш Google . Извиняюсь, если связывать это плохой Джон . Он должен делать то , что вы хотите, кто - то взял его, отлажены и положил статью до об этом здесь - в комплекте с тестовой страницы


0

Я не уверен, что это было бы полезно, но я бы это сделал:

Я бы использовал хэш-карту и сохранил все слова, разделенные пробелом. Затем, используя это, я бы сопоставил с оригиналом.

Вы можете добавлять теги html или что-то еще, если они разные.

Здесь есть проблема с производительностью в большом словаре слов. Сама кодировка не будет долгой.

C #, asp.net, строка,