您的位置:首页 > 编程语言 > C#

利用C#编程计算某个字符在某个字符串中出现的次数

2015-03-26 17:56 351 查看
一、利用Replace(效率不高)

代码1:

string test = "good good study day day up";
string r = test.Replace("oo", "");
int num = (test.Length - r.Length)/2;
Console.WriteLine(num);

test = "good good study day day up";
r = test.Replace("o", "");
num = (test.Length - r.Length);
Console.WriteLine(num);

二、利用Split(效率最低)

test = "good good study day day up";

int i = test.Split('d').Length - 1;

代码3:

test = "good good study day day up";
int a = test.Split(new string[] { "oo" }, StringSplitOptions.None).Length - 1;

三、利用循环(效率高)

int c2 = 0;

for (int i = 0; i < test .Length; i++)

{

if (test [i] == 'a')

{

c2++;

}

}

四、利用正则表达式

Regex rege = new Regex("o", RegexOptions.Compiled);

int count = rege.Matches(test).Count;

五、高效查找字符串出现次数

string str = "fecvcsdwfchkeov[page]ove283673ewekl[page]fsdh5d37op"; //被查的字符串
int count = 0; //计数器
string search = "[page]"; //要查的字符串
for (int i = 0; i < str.Length - search.Length; i++)
{
if (str.Substring(i, search.Length) == search)
{
count++;
}
}

六、IndexOf、While查找

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

七、foreach

int count;
string str="abcbabcbabbcabbabcccc";
foreach(char s in str)
{
if(s=="a")
{
count++;
}
}
console.write(count.tostring());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: