真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#中搜索字符串中出現(xiàn)指定字符的次數(shù)

   還在學習中,我想把每天學到的一些知識記下來,這樣可以加深記憶,以后也方便自己復習吧,加油!

目前創(chuàng)新互聯(lián)建站已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務器托管、企業(yè)網(wǎng)站設(shè)計、四方臺網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

   

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace StringOperate

{

   ///

   /// 字符串 操作類

   ///

   class StrOperate

   {

       private static int count; //次數(shù)

       public static int Count

       {

           get { return StrOperate.count; }

           set { StrOperate.count = value; }

       }

       private string strContent; //字符串

       public string StrContent

       {

           get { return strContent; }

           set { strContent = value; }

       }

       private char searchChar; //需要查詢的字符

       public char SearchChar

       {

           get { return searchChar; }

           set { searchChar = value; }

       }

       ///

       /// 定義構(gòu)造函數(shù),初始化數(shù)據(jù)

       ///

       public StrOperate(string strContent, char searchChar)

       {

           this.strContent = strContent;

           this.searchChar = searchChar;

       }

       #region //查詢字符串中出現(xiàn)指定字符的次數(shù)

       #region 方法一

       ///

       /// 在C#中,字符串就是一個字符數(shù)組,

       /// 通過循環(huán)遍歷字符數(shù)組中的每個元素,

       /// 判斷得到出現(xiàn)指定Char的次數(shù)

       ///

       /// 指定Char出現(xiàn)的次數(shù)(個數(shù))

       public int SearchCharCount_1()

       {

           count = 0;

           //循環(huán)遍歷string中的每個元素(字符)

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

           {

               //判斷是否等于指定的字符

               if (strContent[i] == searchChar)

               {

                   //如果等于,次數(shù)加1

                   count++;

               }

           }

           //返回次數(shù)

           return count;

       }

       #endregion

       #region 方法二

       ///

       /// 通過IndexOf()函數(shù)和Substring()函數(shù),獲得次數(shù)

       ///

       /// 指定Char出現(xiàn)的次數(shù)(個數(shù))

       public int SearchCharCount_2()

       {

           count = 0;

           string strCont = strContent;

           while (true)

           {

               //通過IndexOf()函數(shù) 獲得當前字符串中首次出現(xiàn)指定字符(searchChar)的位置

               int indexChar = strCont.IndexOf(searchChar);

               //如果出現(xiàn)的位置大于等于0,說明存在這個字符

               if (indexChar >= 0)

               {

                   //那么次數(shù)加1

                   count++;

                   //字符串更新(通過Substring()函數(shù)截取上次出現(xiàn)指定字符后面的字符串,以便下次搜索)

                   strCont = strCont.Substring(indexChar+1);

               }

               //否則出現(xiàn)的位置小于0,則說明當前字符串中不存在要搜索的字符了

               else

               {

                   //結(jié)束循環(huán)

                   break;

               }

           }

           //返回次數(shù)

           return count;

       }

       #endregion

       #region 方法三

       ///

       /// 通過Split()函數(shù),獲得次數(shù)

       ///

       /// 指定Char出現(xiàn)的次數(shù)(個數(shù))

       public int SearchCharCount_3()

       {

           count = 0;

           //按照指定的字符對字符串進行拆分(那么有多少個字符就會拆分多少次)

           string[] strs = strContent.Split(searchChar);

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

           //{

           //    Console.WriteLine("-" + strs[i] + "-");

           //}

           count = strs.Length - 1;

           Console.WriteLine("Lenght = " + strs.Length);

           return count;

       }

       #endregion

       #region 方法四

       ///

       /// 通過LastIndexOf()函數(shù)和Substring()函數(shù),獲得次數(shù)

       ///

       /// 指定Char出現(xiàn)的次數(shù)(個數(shù))

       public int SearchCharCount_4()

       {

           count = 0;

           string strCont = strContent;

           while (true)

           {

               //通過IndexOf()函數(shù) 獲得當前字符串中首次出現(xiàn)指定字符(searchChar)的位置

               int indexChar = strCont.LastIndexOf(searchChar);

               //如果出現(xiàn)的位置大于等于0,說明存在這個字符

               if (indexChar >= 0)

               {

                   //那么次數(shù)加1

                   count++;

                   //字符串更新(通過Substring()函數(shù)截取上次出現(xiàn)指定字符后面的字符串,以便下次搜索)

                   strCont = strCont.Substring(0,indexChar);

               }

               //否則出現(xiàn)的位置小于0,則說明當前字符串中不存在要搜索的字符了

               else

               {

                   //結(jié)束循環(huán)

                   break;

               }

           }

           //返回次數(shù)

           return count;

       }

       #endregion

       #region 方法五

       ///

       /// 通過indexOf()、LastIndexOf()和Substring()函數(shù)

       ///

       /// 指定Char出現(xiàn)的次數(shù)(個數(shù))

       public int SearchCharCount_5()

       {

           count = 0;

           string strCont = strContent;

           while (true)

           {

               int indexof = strCont.IndexOf(searchChar);

               int lastIndexof = strCont.LastIndexOf(searchChar);

               if (indexof != lastIndexof)

               {

                   count += 2;

                   strCont = strCont.Substring(indexof + 1, lastIndexof - 1 - indexof);

                   //bacdefa

                   //0123456

               }

               else

               {

                   break;

               }

           }

           return count;

       }

       #endregion

       #region 方法六

       ///

       /// 使用string.ToArray()把字符串轉(zhuǎn)換成一個字符數(shù)組,在判斷

       ///

       /// 指定Char出現(xiàn)的次數(shù)(個數(shù))

       public int SearchCharCount_6()

       {

           count = 0;

           char[] chars = strContent.ToArray();

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

           {

               if(chars[i] == searchChar)

               {

                   count++;

               }

           }

           return count;

       }

       #endregion

       #endregion

   }

}

   

   


新聞名稱:C#中搜索字符串中出現(xiàn)指定字符的次數(shù)
網(wǎng)頁URL:http://weahome.cn/article/jisoij.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部