使用c#停止删除单词

时间:2015-06-19 10:03:58

标签: c# text stop-words removeall

我有两个字符串数组,即。

string[] text = {"Paragraph 1 containing long text of ten to 20 lines", "Paragraph 2 containing long text of ten to 20 lines", "Paragraph 3 containing long text of ten to 20 lines",.....};

和另一组停用词,即

string[] stop_words = File.ReadAllLines(@"C:\stopWords.txt");

string[] text数组包含文本段落,string[] stop_words数组包含要从存储的所有文本中删除的停用词 string[] text数组

如何使用c#删除停用词。代码建议将受到高度赞赏。

由于

2 个答案:

答案 0 :(得分:0)

试试这样:

string[] result = text.Except(stop_words).ToArray();

或者您可以尝试使用for循环

string[] stop_word = new string[] { "please", "try", "something" };

string str = "Please try something by yourself before asking";
foreach (string word in stop_word )
{
   str = str.Replace(word, "");
}

答案 1 :(得分:0)

让我解释一下这个流程:

1)我必须遍历input_Texts字符串array..fine。

2)在循环中我根据空格分割段落,即('')以便我得到所有单词。

3)然后我找到它们和stopWords之间的所有相交/匹配单词。

4)然后取出除匹配词之外的所有词语。

5)再次使用空格加入它们以从单词(没有停止词)创建文本,然后再将它放回到同一个地方。

  for(int i=0;i<input_Texts.Length;i++)
  {
    input_Texts[i]=string.Join(" ", input_Texts[i].Split(' ').Except(input_Texts[i].Split(' ').Intersect(stopWords)));
  }

你可以关注这个吗?