コード例 #1
0
ファイル: StringExtension.cs プロジェクト: lovenets/fireasy2
        /// <summary>
        /// 将中文字符转换为汉语拼音的首字母。
        /// </summary>
        /// <param name="source">将要转换的字符串。</param>
        /// <param name="containRare">是否搜索生僻字。</param>
        /// <returns>转换后的字符串。</returns>
        public static string ToPinyin(this string source, bool containRare = false)
        {
            if (string.IsNullOrEmpty(source))
            {
                return(source);
            }
            var output = new StringBuilder(source.Length);

            foreach (var c in source)
            {
                if (c.IsChinese())
                {
                    var ascii = CharExtension.GetAsciiCode(c);
                    var key   = ChineseSpellHelper.FindBaseDictionary(ascii, c);
                    if (key == c && containRare)
                    {
                        key = ChineseSpellHelper.FindRareDictionary(ascii, c);
                    }
                    output.Append(key);
                }
                else
                {
                    output.Append(c);
                }
            }
            return(output.ToString());
        }
コード例 #2
0
 /// <summary>
 /// 将中文字符转换为汉语拼音的全拼。
 /// </summary>
 /// <param name="source">将要转换的字符串。</param>
 /// <returns>转换后的字符串。</returns>
 public static string ToFullPinyin(this string source)
 {
     return(ChineseSpellHelper.GetPinyin(source));
 }
コード例 #3
0
 /// <summary>
 /// 将中文字符转换为汉语拼音的首字母。
 /// </summary>
 /// <param name="source">将要转换的字符串。</param>
 /// <returns>转换后的字符串。</returns>
 public static string ToPinyin(this string source)
 {
     return(ChineseSpellHelper.GetPinyinFirstLetter(source));
 }