Ich habe eine Linq-Liste mit "impportent words"
, die Sätze und einzelne Wörter enthält.Regex finden genaue Wörter/Sätze entsprechen
Ich brauche zu finden, wenn es irgendein Wort oder Sätze von importent_words ist, die in "sentence_to_search_for_importent_word"
Endlich sollte das Ergebnis in einem Array oder am Ende etwas gefunden wird.
hier ist, was ich bis Know getan ..
List<string> importent_words = new List<string>() {"age", "what is", ".", "pages"}
string sentence_to_search_for_importent_words = "what is your age.";
Ich brauche die importent_words
in einem Satz zu finden und alle auf einer Liste erhalten
Ich versuche, diese aber es funktioniert nicht wirklich den Job
var pattern = new Regex(@"\w+");
var qa = pattern.Split(first_sentence.ToLower()).Where(w => importent_words.Contains(w));
es zurückkehren müssen „Alter“ nicht „altert“ auch sollte es finden nicht nur „was“ „was“
Mit \w
scheint es Alter zu finden, aber es "this"
nur dann ausgegeben, statt "this is"
Es scheint, wie das Problem ist, dass „dies“ mehr als ein Wort ist.
Suchen Sie nach 'importent_words.Where (x => sentence.Contains (x))'? Warum Regex? – Sayse
Ich würde zustimmen, mit einer Regex führt ein zweites Problem, Sie sind nicht auf der Suche nach einem Muster, so dass eine grundlegende Überprüfung wird zehnmal besser –
Ich dachte nur, Regex war schnell, jede Lösung, die ist genauso gut ist auch gut –