gpt4 book ai didi

c# - 接受字符串输入并删除出现一定次数的所有字符的函数

转载 作者:行者123 更新时间:2023-11-30 15:15:46 24 4
gpt4 key购买 nike

我这里有一个词“angoora” 'a' 和 'o' 出现 2 次 如果用户输入是 2 那么输出应该是 "ngr"函数应该删除 a 和 o 因为它在一个字符串中出现了 2 次。如果用户输入 3 那么输出应该是“angoora”,因为没有字符出现 3 次。

我正在这样做,但我认为这不是正确的方法,因为它没有引导我实现我的目标,我们将不胜感激任何帮助。

public static SortedDictionary<char, int> Count(string stringToCount)
{
SortedDictionary<char, int> characterCount = new SortedDictionary<char, int>();

foreach (var character in stringToCount)
{
int counter = 0;
characterCount.TryGetValue(character, out counter);
characterCount[character] = counter + 1;
}

return characterCount;
}

最佳答案

您可以使用 LINQs GroupBy 来查找每个字符出现的次数。然后删除那些出现次数你想要的。像这样

public static string RemoveCharactersThatOccurNumberOfTimes(string s, int numberOfOccurances)
{
var charactersToBeRemoved = s.GroupBy(c => c).Where(g => g.Count() == numberOfOccurances).Select(g => g.Key);
return String.Join("", s.Where(c => !charactersToBeRemoved.Contains(c)));
}

关于c# - 接受字符串输入并删除出现一定次数的所有字符的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51593197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com