Как найти разницу между двумя строками?
У меня есть две строки, и я хотел бы показать разницу между ними. Например, если у меня есть строки "Я с Марса" и "Я с Венеры", результатом может быть "Я с Венеры". (Обычно используется для отображения изменений в журнале аудита и т. Д.)
Есть ли простой алгоритм для этого? Я использую C#, но я думаю, что общий алгоритм может быть адаптирован с любого языка программирования.
Или есть фреймворк / сторонняя библиотека, которая будет делать такие вещи?
1 ответ
Решение
Проверьте это: http://en.wikipedia.org/wiki/Diff
Также: http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
Также здесь описана реализация: http://www.codeproject.com/KB/recipes/DiffAlgorithmCS.aspx