1

2 つの文字列を比較した後、Asp.net を使用してどのくらいの単語が同じかを返すにはどうすればよいですか。

ここにいくつかのコードを書きましたが、文字列の長さのみを返します:

string x = "Sabih Khan Afridi Sabih Khan Afridi";
string y = "Sabih Afridi";
int z = x.Length; int t = y.Length;
Label1.Text = "Total lengths: !st->" +z.ToString()+" <<>> 2nd-"+t;
4

2 に答える 2

1
string[] common = x.Split().Intersect(y.Split()).ToArray();
int count = common.Length;

盗作の検出は上記のように単純ではありません。これにはAnti-Plagiarismossなどのライブラリを使用することをお勧めします。それらはオープンソースであり、実装も確認できます

于 2013-06-08T11:17:39.670 に答える
0

Intersectを使用して類似の単語を取得します。

IEnumerable<string> listX = x.Split(' ').Distinct();
IEnumerable<string> listY = y.Split(' ').Distinct();

var similarWords = listX.Intersect(listY);
int numberOfSimilarWords = similarWords.Count();

更新: 2 つのファイルの単語を比較するには。それらのファイルを読むだけです

var firstFile = File.ReadAllText(@"C:\firstfile.txt", Encoding.ASCII).Split(' ').ToList();
var secondFile =File.ReadAllText(@"C:\secondfile.txt", Encoding.ASCII).Split(' ').ToList();

var similarwords=firstFile.Intersect(secondFile);
于 2013-06-08T11:00:01.900 に答える