在一句话中查找指定字符串出现的次数

题目:在给定的语句中,统计出指定字符串出现的次数。
例如:今天天气好晴朗处处好风光,今天天气好,今天天气好今天好天气,今天天天好天气 。
请统计出"今天"出现的次数。

主要方法有:

class Program
    {   //在给定的语句中,统计出指定字符串出现的次数。
        //例如:今天天气好晴朗处处好风光,今天天气好,今天天气好今天好天气,今天天天好天气 。
        //请统计出"今天"出现的次数。

        static void Main(string[] args)
        {
            #region 方法1:用Replace和Split

            string strContent = "今天天气好晴朗处处好风光,今天天气好,今天天气好今天好天气,今天天天好天气";
            //字符串替换
            string strNewContent = strContent.Replace("今天", "@");
            //字符串分割
            string[] count = strNewContent.Split('@');
            //该字符串出现的次数就是分割的片段数减1。
            int times = count.Length - 1;
            Console.WriteLine("\"今天\"出现的次数为{0}次", times);
            Console.ReadKey();

            #endregion


            #region 方法2:用IndexOf

            string strContent = "今天天气好晴朗处处好风光,今天天气好,今天天气好今天好天气,今天天天好天气";
            string keyWords = "今天";
            int index = 0;//索引位置
            int count = 0; //统计次数
            while ((index = strContent.IndexOf(keyWords, index)) != -1)
            {
                count++;
                index = index + keyWords.Length;
            }
            Console.WriteLine("\"今天\"出现的次数为{0}次", count);
            Console.ReadKey();

            #endregion


            #region 方法3:用正则表达式

            string strContent = "今天天气好晴朗处处好风光,今天天气好,今天天气好今天好天气,今天天天好天气";
            string keyWords = "今天";
            //正则表达式匹配模式
            int count = (Regex.Matches(strContent, keyWords)).Count;
            Console.WriteLine("\"今天\"出现的次数为{0}次", count);
            Console.ReadKey();

            #endregion


            #region 方法4:用Contains

            string strContent = "今天天气好晴朗处处好风光,今天天气好,今天天气好今天好天气,今天天天好天气";
            //字符串替换
            strContent = strContent.Replace("今天", "@");
            int count = 0;
            for (int i = 0; i < strContent.Length; i++)
            {
                if (strContent[i].Equals('@'))
                {
                    count++;
                }
            }
            Console.WriteLine("\"今天\"出现的次数为{0}次", count);
            Console.ReadKey();

            #endregion
        }
    }


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值