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") 一般首字母索引就用这种方案

效果图

 

posted @ 2017-03-06 23:57  Microestc-zl  阅读(532)  评论(0)    收藏  举报