如何在c#中找到两个字符串中的相似单词

时间:2011-11-12 15:24:16

标签: c# .net winforms

我有一个包含我需要匹配的单词的字符串,如下所示,它是常量,另一个可以更改的字符串可能包含来自该字符串's'的单词。

string s = "run fun play game do work click type";

string g = "he will be running. He is playing a game by clicking the mouse";

我希望能够在Windows窗体应用程序文本框中匹配这些单词并使它们变为粗体。与运行正在运行相匹配,因此运行将变为粗体,依此类推。 : - /任何想法??

1 个答案:

答案 0 :(得分:4)

我要做的是使用一个词干分析器(例如Porter词干分析器),使用分割('')分割字符串并遍历每个字符串。比较两个单词的词干版本,然后加粗匹配的单词。

foreach (string t1 in term1.split(' '){

foreach (string t2 in term2.split(' '){

if (Stemmer.Stem(t1).equals(Stemmer.Stem(t2)){

//do whatever here

}

}    

    }

在porter stemmer上包含源代码:

http://tartarus.org/martin/PorterStemmer/