Как найти похожие слова в двух строках в c # - PullRequest
1 голос
/ 12 ноября 2011

У меня есть строка, содержащая слова, которые мне нужно сопоставить, как показано ниже, это константа, а другая строка, которая может быть изменена, может содержать слова из этой строки '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. Например, run и Running match, чтобы бег стал жирным и так далее. : - / какие-либо идеи ??

1 Ответ

4 голосов
/ 12 ноября 2011

Что бы я сделал, это использовал стеммер (такой как стеммер Портера), разделил струны, используя разделение (''), и прошел каждый.Сравните основанную на обоих словах версию слова, а затем выделите жирным шрифтом те, которые соответствуют.

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

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

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

//do whatever here

}

}    

    }

На стебере портера, включая исходный код:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...