在一句話中查找指定字符串出現的次數

題目:在給定的語句中,統計出指定字符串出現的次數。
例如:今天天氣好晴朗處處好風光,今天天氣好,今天天氣好今天好天氣,今天天天好天氣 。
請統計出"今天"出現的次數。

主要方法有:
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
        }
    }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章