C#獲取字符串的拼音和首字母


在C#中我們想要獲取字符串的拼音並不是那么困難的,在網上看到很多都是特別笨的方式來實現,其實各有各的好處吧,如果使用了下方法方式,它不知道多音字,這就是一個問題。

 /// <summary>
        /// 獲取全拼
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string GetFull(string str)
        {
            string PYstr = "";
            foreach (char item in str.ToCharArray())
            {
                if (Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(item))
                {
                    Microsoft.International.Converters.PinYinConverter.ChineseChar cc = new Microsoft.International.Converters.PinYinConverter.ChineseChar(item);
                    PYstr += cc.Pinyins[0].Substring(0, cc.Pinyins[0].Length - 1);
                }
                else
                {
                    PYstr += item.ToString();
                }
            }
            return PYstr;
        }

        /// <summary>
        /// 獲取首字符
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string GetFrist(string str)
        {
            string PYstr = "";
            foreach (char item in str.ToCharArray())
            {
                if (Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(item))
                {
                    Microsoft.International.Converters.PinYinConverter.ChineseChar cc = new Microsoft.International.Converters.PinYinConverter.ChineseChar(item);
                    PYstr += cc.Pinyins[0][0];
                }
                else
                {
                    PYstr += item.ToString()[0];
                }
            }
            return PYstr;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM