c# 汉字转拼音最可靠的解决方案
1 using System.Linq; 2 using System.Web.WebPages; 3 using Microsoft.International.Converters.PinYinConverter; 4 5 namespace Web.Helper 6 { 7 public class PinYin 8 { 9 /// <summary> 10 /// 将汉字编译成拼音首字母(多音字首字母全包含在内) 如 重 编译CZ-chongzhong 11 /// </summary> 12 /// <param name="cnChar">汉字</param> 13 /// <returns></returns> 14 public static string EnChar(char cnChar) 15 { 16 var cChars = new ChineseChar(cnChar); 17 var enChar = ""; 18 foreach (var item in cChars.Pinyins.Where(i=>!i.IsEmpty())) 19 { 20 if (enChar.Contains(item[0])) 21 { 22 continue; 23 } 24 enChar += item[0]; 25 } 26 return enChar; 27 } 28 29 } 30 }
说明
微软的拼音库对多音字的处理结果pinyins包含所有多音字拼音,解决的思维是全部翻译,
如强 qiang和jiang var str = “qj” 结合contains 使用 str.contains("q") 一般首字母索引就用这种方案
效果图


浙公网安备 33010602011771号