统计字符串中出现某次数的字符,如下语句,比如我要找出在str中出现3次的字符,应该怎么写。string str = 'abdcidslaaciejgjdsaqer';
private char[] GetChars(int length)
{
//linq
}
private char[] GetChars(int length)
{
//linq
}
解决方案 »
- C#调用C++的DLL,异常System.DllNotFoundException
- c# 编译成机器代码
- 给定一个GRB的顔色如#deff57要把它转化成system.drawing.color能不能转呢?
- 卡壳了 写不下去了!帮忙看看
- c#生成的可执行文件可以脱离.net framework吗?
- 请问如何让DataSet中的一列数据在DataGridView显示时划分到几个不同的列中(根据另一列的数值)?
- 在线求助:请教关于dataGridView连接数据库的问题
- 使用DataView条件查询,绑定后的结果有一列没有显示
- 大家谈谈开发大型项目.net和j2ee的软件成本哪个底些?
- C#关于网络连结的问题
- 字体样式问题
- VS版本转换报的错,大神们帮忙解决一下
string str ="abdcidslaaciejgjdsaqer";
foreach (char c in str)
{
if (str.Count(p => p == c) == 3)
{
}
}
string str ="abdcidslaaciejgjdsaqer";
foreach (char c in str.Distinct())
{
if (str.Count(p => p == c) == 3)
{
}
}
private char[] GetChars(int length)
{
return str.ToCharArray().GroupBy(p => p).Where(p => p.Count() == length).Select(p=>p.Key).ToArray();
}
char[] t = str.ToCharArray();
foreach (char c in t.Where(c1 => t.Count(c => c == c1) == 3).Distinct())
{
Console.WriteLine(c);
}
Dim r = From c In str
Group By c
Into rg = Group, rc = Count()
Where rc = 3
char[] arr = str.ToCharArray();
var query =
from a in arr
group arr by a into g
orderby g.Count()
select new
{
g.Key,
count = g.Count()
};
void Main()
{
foreach(char c in GetChars(3))
{
Console.WriteLine(c);
}
}
string str = "abdcidslaaciejgjdsaqer";
private char[] GetChars(int length)
{
var query= from s in str.ToCharArray()
group s by s into t
where t.Count()==length
select t.Key;
return query.ToArray();
}
//结果:
//d