using System; using System.Text; using NPinyin; namespace RainOpsMini.Helpers { public static class PinyinHelper { /// /// 获取字符串的首字母(拼音首字母) /// /// /// public static string GetInitials(string str) { if (string.IsNullOrEmpty(str)) return ""; try { StringBuilder sb = new StringBuilder(); foreach (char c in str) { // If Chinese if (c >= 0x4e00 && c <= 0x9fa5) { var pinyin = Pinyin.GetPinyin(c); if (!string.IsNullOrEmpty(pinyin)) { sb.Append(pinyin[0]); } else { sb.Append(c); } } else { sb.Append(c); } } return sb.ToString(); } catch { return str; // Fallback } } /// /// 获取全拼 /// public static string GetPinyin(string str) { if (string.IsNullOrEmpty(str)) return ""; try { return Pinyin.GetPinyin(str).Replace(" ", ""); } catch { return str; } } } }