比较两个字符串并使用Asp.net返回多少单词相同

时间:2013-06-08 10:54:53

标签: asp.net

如何使用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;

2 个答案:

答案 0 :(得分:1)

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

抄袭检测并不像上面那么简单,你最好使用一个库,比如Anti-Plagiarismoss。它们是开源的,您也可以检查实现

答案 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);