如何查找字符串列表中出现次数最多的字符串
本文关键字:字符串 列表 何查找 查找 | 更新日期: 2023-09-27 17:50:13
示例输入:
List<string> input = new List<string>();
input.Add("'nHello 'nWorld");
input.Add("My 'nname 'nis 'John");
input.Add("'n'n'n'n Just for fun 'n'n");
目标字符串:"'n"
期望输出:"'n'n'n只是为了好玩'n'n'n 有最多的"'n"并且出现的次数是6"
指出:
- 搜索字符串不区分大小写, 'n和'n应被视为2次出现。
- 用户将输入要查找的字符串。'n只是一个例子。在上面的例子中,如果用户输入"m",预期的输出将是My 'nname 'nis 'John,其中出现2次
您可以使用:
var MaxIndex = input.Select((r, i) =>
new
{
OccuranceCount = r.Count(c => char.ToUpperInvariant(c) == char.ToUpperInvariant(searchChar)),
Index = i
})
.OrderByDescending(t => t.OccuranceCount)
.FirstOrDefault();
那么对于下面的代码:
List<string> input = new List<string>();
input.Add("'nHello 'nWorld");
input.Add("My 'nname 'nis John");
input.Add("'n'n'n'n Just for fun 'n'n");
char searchChar = ''n';
var MaxIndex = input.Select((r, i) =>
new
{
OccuranceCount = r.Count(c => char.ToUpperInvariant(c) == char.ToUpperInvariant(searchChar)),
Index = i
})
.OrderByDescending(t => t.OccuranceCount)
.FirstOrDefault();
Console.WriteLine("Line: {0}, Occurance Count: {1}", input[MaxIndex.Index], MaxIndex.OccuranceCount);