程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 公用方法:得到漢字的首字母(大寫)

公用方法:得到漢字的首字母(大寫)

編輯:C#入門知識

[csharp]
#region ### 得到首字母 方案2  
     /// <summary>  
     /// 漢字轉拼音縮寫  
     /// Code By [email protected]  
     /// 2004-11-30  
     /// </summary>  
     /// <param name="str">要轉換的漢字字符串</param>  
     /// <returns>拼音縮寫</returns>  
     public static string GetPYString(string str) 
     { 
         string tempStr = ""; 
         foreach (char c in str) 
         { 
             if ((int)c >= 33 && (int)c <= 126) 
             {//字母和符號原樣保留  
                 tempStr += c.ToString(); 
             } 
             else 
             {//累加拼音聲母  
                 tempStr += GetPYChar(c.ToString()); 
             } 
         } 
         return tempStr; 
     } 
 
     /// <summary>  
     /// 取單個字符的拼音聲母  
     /// Code By [email protected]  
     /// 2004-11-30  
     /// </summary>  
     /// <param name="c">要轉換的單個漢字</param>  
     /// <returns>拼音聲母</returns>  
     public static string GetPYChar(string c) 
     { 
         byte[] array = new byte[2]; 
         array = System.Text.Encoding.Default.GetBytes(c); 
         int i = (short)(array[0] - '\0') * 256 + ((short)(array[1] - '\0')); 
 
         //if (i < 0xB0A1) return "*";  
         //if (i < 0xB0C5) return "a";  
         //if (i < 0xB2C1) return "b";  
         //if (i < 0xB4EE) return "c";  
         //if (i < 0xB6EA) return "d";  
         //if (i < 0xB7A2) return "e";  
         //if (i < 0xB8C1) return "f";  
         //if (i < 0xB9FE) return "g";  
         //if (i < 0xBBF7) return "h";  
         //if (i < 0xBFA6) return "g";  
         //if (i < 0xC0AC) return "k";  
         //if (i < 0xC2E8) return "l";  
         //if (i < 0xC4C3) return "m";  
         //if (i < 0xC5B6) return "n";  
         //if (i < 0xC5BE) return "o";  
         //if (i < 0xC6DA) return "p";  
         //if (i < 0xC8BB) return "q";  
         //if (i < 0xC8F6) return "r";  
         //if (i < 0xCBFA) return "s";  
         //if (i < 0xCDDA) return "t";  
         //if (i < 0xCEF4) return "w";  
         //if (i < 0xD1B9) return "x";  
         //if (i < 0xD4D1) return "y";  
         //if (i < 0xD7FA) return "z";  
 
         if (i < 0xB0A1) return "*"; 
         if (i < 0xB0C5) return "A"; 
         if (i < 0xB2C1) return "B"; 
         if (i < 0xB4EE) return "C"; 
         if (i < 0xB6EA) return "D"; 
         if (i < 0xB7A2) return "E"; 
         if (i < 0xB8C1) return "F"; 
         if (i < 0xB9FE) return "G"; 
         if (i < 0xBBF7) return "H"; 
         if (i < 0xBFA6) return "J"; 
         if (i < 0xC0AC) return "K"; 
         if (i < 0xC2E8) return "L"; 
         if (i < 0xC4C3) return "M"; 
         if (i < 0xC5B6) return "N"; 
         if (i < 0xC5BE) return "O"; 
         if (i < 0xC6DA) return "P"; 
         if (i < 0xC8BB) return "Q"; 
         if (i < 0xC8F6) return "R"; 
         if (i < 0xCBFA) return "S"; 
         if (i < 0xCDDA) return "T"; 
         if (i < 0xCEF4) return "W"; 
         if (i < 0xD1B9) return "X"; 
         if (i < 0xD4D1) return "Y"; 
         if (i < 0xD7FA) return "Z"; 
 
         return "*"; 
     } 
     #endregion 

   #region ### 得到首字母 方案2
        /// <summary>
        /// 漢字轉拼音縮寫
        /// Code By [email protected]
        /// 2004-11-30
        /// </summary>
        /// <param name="str">要轉換的漢字字符串</param>
        /// <returns>拼音縮寫</returns>
        public static string GetPYString(string str)
        {
            string tempStr = "";
            foreach (char c in str)
            {
                if ((int)c >= 33 && (int)c <= 126)
                {//字母和符號原樣保留
                    tempStr += c.ToString();
                }
                else
                {//累加拼音聲母
                    tempStr += GetPYChar(c.ToString());
                }
            }
            return tempStr;
        }

        /// <summary>
        /// 取單個字符的拼音聲母
        /// Code By [email protected]
        /// 2004-11-30
        /// </summary>
        /// <param name="c">要轉換的單個漢字</param>
        /// <returns>拼音聲母</returns>
        public static string GetPYChar(string c)
        {
            byte[] array = new byte[2];
            array = System.Text.Encoding.Default.GetBytes(c);
            int i = (short)(array[0] - '\0') * 256 + ((short)(array[1] - '\0'));

            //if (i < 0xB0A1) return "*";
            //if (i < 0xB0C5) return "a";
            //if (i < 0xB2C1) return "b";
            //if (i < 0xB4EE) return "c";
            //if (i < 0xB6EA) return "d";
            //if (i < 0xB7A2) return "e";
            //if (i < 0xB8C1) return "f";
            //if (i < 0xB9FE) return "g";
            //if (i < 0xBBF7) return "h";
            //if (i < 0xBFA6) return "g";
            //if (i < 0xC0AC) return "k";
            //if (i < 0xC2E8) return "l";
            //if (i < 0xC4C3) return "m";
            //if (i < 0xC5B6) return "n";
            //if (i < 0xC5BE) return "o";
            //if (i < 0xC6DA) return "p";
            //if (i < 0xC8BB) return "q";
            //if (i < 0xC8F6) return "r";
            //if (i < 0xCBFA) return "s";
            //if (i < 0xCDDA) return "t";
            //if (i < 0xCEF4) return "w";
            //if (i < 0xD1B9) return "x";
            //if (i < 0xD4D1) return "y";
            //if (i < 0xD7FA) return "z";

            if (i < 0xB0A1) return "*";
            if (i < 0xB0C5) return "A";
            if (i < 0xB2C1) return "B";
            if (i < 0xB4EE) return "C";
            if (i < 0xB6EA) return "D";
            if (i < 0xB7A2) return "E";
            if (i < 0xB8C1) return "F";
            if (i < 0xB9FE) return "G";
            if (i < 0xBBF7) return "H";
            if (i < 0xBFA6) return "J";
            if (i < 0xC0AC) return "K";
            if (i < 0xC2E8) return "L";
            if (i < 0xC4C3) return "M";
            if (i < 0xC5B6) return "N";
            if (i < 0xC5BE) return "O";
            if (i < 0xC6DA) return "P";
            if (i < 0xC8BB) return "Q";
            if (i < 0xC8F6) return "R";
            if (i < 0xCBFA) return "S";
            if (i < 0xCDDA) return "T";
            if (i < 0xCEF4) return "W";
            if (i < 0xD1B9) return "X";
            if (i < 0xD4D1) return "Y";
            if (i < 0xD7FA) return "Z";

            return "*";
        }
        #endregion調用 方法:

   string ss2 = Common.GetPYString("我a*%愛你中國");      //Wa*%ANZG


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved