26

2 つの文字列があり、それらの違いを表示したいと考えています。たとえば、「I am from Mars」と「I am from Venus」という文字列がある場合、出力は「I am from Venus」になります。(通常、監査ログなどで何が変更されたかを示すために使用されます)

これには簡単なアルゴリズムがありますか?私は C# を使用していますが、一般的なアルゴリズムはどのプログラミング言語からでも適応できると思います。

または、この種のことを行うフレームワーク クラス/サードパーティ ライブラリはありますか?

4

1 に答える 1

33

これをチェックしてください:http://en.wikipedia.org/wiki/Diff#Algorithm

また: http://en.wikipedia.org/wiki/Longest_common_subsequence_problem

ここで説明されている実装もあります: http://www.codeproject.com/KB/recipes/DiffAlgorithmCS.aspx

于 2008-10-16T10:55:52.353 に答える