如何保留字符串中的重复项[]从列表中排除单词并打印出来

时间:2019-08-17 03:10:23

标签: c# arrays string linq

我有一个string,我想保留最重复的单词。并且,我想从该list of strings中排除一个string。经过boolstring之后,我只能返回list,这将得到我想要的结果。但是,如何从该方法而不是布尔值返回string?我尝试了以下方法:

    //Fields
    private String textOnBook = "alis and joe went to the store to buy fish and salad salad is joe favorite food";
    private List<String> excludeFromText = new List<string>() {"and", "he", "the", "to", "is"};


    public List<String> MostUsedWords(String textOnBook, List<String> excludeFromText)
    {
        var word = textOnBook.Split(' ');

        for (int i = 0; i < word.Length; i++)
        {
            var result = excludeFromText.Remove(word[i]);
            Console.WriteLine(result);
        }

        return null;
     }

非常感谢您的帮助,和平!!

1 个答案:

答案 0 :(得分:2)

我建议下面的approach(输出joesalad)。

两个GroupBy允许您将单词分组,然后算出每个单词有多少个实例。 OrderByDescendingFirst可让您找到最常用的单词。 SelectMany然后提取这些单词,并且Except排除您要排除的特定单词(例如and)(Where是处理{{1 }}是一个空白字符串)。 textOnBook用于显示string.Join的内容。

List<string>