C#中计算字符串中子串出现的次数

在“朋友一生一起走,那些日子不再有,一句话一辈子,一生情一杯酒.朋友不曾孤单过,一声朋友你会懂,还有伤还有痛,还要走还有我”这句歌词中,计算“朋友”出现的次数

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<str.Length;i++)

{

if(str[i]=='@')

{

c1++;

}

}

MessageBox.Show(c1.ToString());

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-11-22
string str = "---123---123---123";
string substr = "123";
var rgx = Regex.Matches(str, substr);
Console.WriteLine("出现次数:" + rgx.Count);

出现次数:3

使用正则来搞

第2个回答  2019-10-03
楼上的思路比较复杂。来个简单的如下:
public static int countSubStr(string str, string sub)
{
string[] array = str.Split(sub.ToCharArray());
return array.Length - 1;
}
就是用这个子串做标志,把原字符串分割成数组,字串的数量就是数组长度-1
第3个回答  推荐于2018-05-18
string str= "朋友一生一起走,那些日子不再有,一句话一辈子,一生情一杯酒.朋友不曾孤单过,一声朋友你会懂,还有伤还有痛,还要走还有我";
Response.Write(System.Text.RegularExpressions.Regex.Matches(str,@"朋友").Count);本回答被网友采纳
第4个回答  推荐于2016-02-27
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;本回答被提问者采纳
相似回答