欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-21 19:57:07
在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;
        }