我在这里有一个单词“ angoora”,如果用户输入为2,则“ a”出现2次,而“ o”出现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;
}
最佳答案
您可以使用此功能
static string Fix(string item, int count)
{
var chars = item.ToList().GroupBy(g => g).Select(s => new { Ch = s.Key.ToString(), Count = s.Count() }).Where(w => w.Count < count).ToList();
var characters = string.Join("", item.ToList().Select(s => s.ToString()).Where(wi => chars.Any(a => a.Ch == wi)).ToList());
return characters;
}
关于c# - 该函数接受字符串输入并删除出现一定次数的所有字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51593197/