How to find difference between two strings?

2019-01-13 08:25发布

问题:

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:

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