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

2024-12-24 22:29:11
推荐回答(5个)
回答1:

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());

回答2:

string str = "---123---123---123";
string substr = "123";
var rgx = Regex.Matches(str, substr);
Console.WriteLine("出现次数:" + rgx.Count);
出现次数:3

使用正则来搞

回答3:

楼上的思路比较复杂。来个简单的如下:
public static int countSubStr(string str, string sub)
{
string[] array = str.Split(sub.ToCharArray());
return array.Length - 1;
}
就是用这个子串做标志,把原字符串分割成数组,字串的数量就是数组长度-1

回答4:

string str= "朋友一生一起走,那些日子不再有,一句话一辈子,一生情一杯酒.朋友不曾孤单过,一声朋友你会懂,还有伤还有痛,还要走还有我";
Response.Write(System.Text.RegularExpressions.Regex.Matches(str,@"朋友").Count);

回答5:

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;