classProgram
{
staticvoidMain(string[]args)
{
//统计出字符串中,朋友出现的次数
stringtext="朋友一生一起走,那些日子不再有,一句话一辈子,一生情一杯酒.朋友不曾孤单过,一声朋友你会懂,还有伤还有痛,还要走还有我";
stringkeyWord="朋友";
intindex=0;
intcount=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();
}
}
扩展资料
C#循环遍历字符串中某字符出现的次数
stringstr="asdwqwe@dsfad@sadfwer@@@fwed";
intc1=0;
for(inti=0;i { if(str[i]=='@') { c1++; } } MessageBox.Show(c1.ToString());
string str = "---123---123---123";
string substr = "123";
var rgx = Regex.Matches(str, substr);
Console.WriteLine("出现次数:" + rgx.Count);
出现次数:3
使用正则来搞
楼上的思路比较复杂。来个简单的如下:
public static int countSubStr(string str, string sub)
{
string[] array = str.Split(sub.ToCharArray());
return array.Length - 1;
}
就是用这个子串做标志,把原字符串分割成数组,字串的数量就是数组长度-1
string str= "朋友一生一起走,那些日子不再有,一句话一辈子,一生情一杯酒.朋友不曾孤单过,一声朋友你会懂,还有伤还有痛,还要走还有我";
Response.Write(System.Text.RegularExpressions.Regex.Matches(str,@"朋友").Count);
int count = 0;
string str = "sfsfluljslfnslafuensdfre";
foreach(char c in str)
{
if(c == 's')
{
count++;
}
}
或者
string str = "sfsfluljslfnslafuensdfre";
string s="s";
int count= str.Length - str.Replace(s,"").Length;