Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find difference between two strings?

I have two strings and would like to display the difference between them. For example, if I have the strings "I am from Mars" and "I am from Venus", the output could be "I am from Venus". (Typically used to show what changed in an audit log, etc.)

Is there a simple algorithm for this? I am using C# but I guess a generic algorithm could be adapted from any programming language.

Or is there a framework class/third-party library that will do this sort of thing?


1 Answers

Check this out: http://en.wikipedia.org/wiki/Diff#Algorithm

Also: http://en.wikipedia.org/wiki/Longest_common_subsequence_problem

There is also an implementation described here: http://www.codeproject.com/KB/recipes/DiffAlgorithmCS.aspx

like image 109
Ilya Kochetov Avatar answered Sep 12 '25 09:09

Ilya Kochetov