2011-08-05 10 views
1

.NETのテキストを比較し、その違いを教えてもらう方法はありますか?私。 "abc123efg"と "abc456efg"の違いは、インデックス3からインデックス5で始まる "123"と "456"です。.NET Frameworkのテキストを比較する

私はこれを行うためのコードを書くことができますが、 .NET Frameworkに存在する場合、私はそれを使用したいと思います。あるいは、それを行うオープンソースライブラリがある場合は、それも良い選択肢になります。

+0

は、あなたが入力を定義しました。出力の必要性を定義する必要があります。 – Naor

答えて

1

コードプロジェクトの"Generic, Reusable Diff Algorithm in C#"がお探しのものになる可能性があります。出典:this SO answer

+0

私は実際には代わりにhttp://code.google.com/p/google-diff-match-patch/を使用して終了しましたが、あなたが参照したSOの回答のリンクが見つかりました。 – GiddyUpHorsey

1

あなたが探しているのは「差分」(「差分」の略)として知られています。そのようなものはFrameworkに組み込まれているものはありませんが、http://diffplex.codeplex.com/のような多くのオープンソースプロジェクトがあります。

0

は、私は、これはトリックを行うと思う:

string a = "abc123efg"; 
string b = "abc456efg"; 

var difference = ((from c in a 
        select c).Except(from t in b select t)).ToList(); 

string result = new string(difference.ToArray()); 
int startIndex = a.IndexOf(result); 
int endIndex = (startIndex + result.Length)-1; 
関連する問題