如何使用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;
答案 0 :(得分:1)
string[] common = x.Split().Intersect(y.Split()).ToArray();
int count = common.Length;
抄袭检测并不像上面那么简单,你最好使用一个库,比如Anti-Plagiaris或moss。它们是开源的,您也可以检查实现
答案 1 :(得分:0)
使用Intersect获取相似的字词。
IEnumerable<string> listX = x.Split(' ').Distinct();
IEnumerable<string> listY = y.Split(' ').Distinct();
var similarWords = listX.Intersect(listY);
int numberOfSimilarWords = similarWords.Count();
更新: 比较两个文件中的单词。 您只需阅读这些文件
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);