C#中如何计算一个字符串中某个指定字符的个数
使用Contains()方法判断是否存在需要查找的字符,从而进行个数统计。
具体步骤如下:
1、计算字符串中子串出现的次数的代码如下:
2、执行方式,调用:
3、执行结果:
扩展资料:
C#中的Contains与IndexOf的差异:
C#中要判断一个字符串是否包含另一个字符串,常用的两种方法是:str.Contains和str.IndexOf。
这两个方法的区别是:
Contains是找指定字符串是否包含一个字串,返回值的boolean类型,即只有true和false
IndexOf有多个重载,但无论哪个,都是做一定的匹配,然后把匹配的第一个字符的位置返回,返回的是int类型,如果没找到,那么返回-1。
参考资料:
使用函数indexof()来检索字符串中所需要的字符出现的次数。
代码如下:
class Program
{
static void Main(string[] args)
{
//统计出字符串中,下雪出现的次数
string text = "今天下雪了吗,明天不会下雪了吧,什么时候才不下雪啊,我要去上学啊!";
string keyWord = "下雪";
int index = 0;
int count = 0;
while ((index=text.IndexOf(keyWord,index))!=-1)
{
count++;
Console.WriteLine("第{0}次;索引是{1}",count,index);
index =index+ keyWord.Length;
}
Console.WriteLine("下雪出现的总次数:{0}",count);
Console.ReadKey();
}
}
扩展资料:
字符串函数应用
1、 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2、 求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’
3、 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
4.、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’
5、 求字符串长度 length(s) 例:length(‘12abc’)=5
在ASP中 求字符串长度用 len(s)例: len("abc12")=5
6、搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.
例:pos(‘ab’,’12abcd’)=3
7.、字符的大写转换。Upcase(ch) 求字符ch的大写体。
例:upcase(‘a’)=’A’
参看资料:百度百科-字符串
Regex.Matches(str,@"a").Count
敲不出来,regex
//添加正则引用啊
using System.Text.RegularExpressions;
//如果不清楚去看看msdn的手册 http://msdn.microsoft.com/zh-cn/library/vstudio/b9712a7w.aspx
可以循环字符串逐个判断
写一个循环例子吧
char[]chs=str.ToArray()
int count=0;
for(int i=0;i<chs.Length;i++){
if(chs[i]=='a')count++;
}