一、簡述
微軟官方提供了一個類庫包vsintlpack1.zip
支持:
- 簡繁體中文之間的轉換
- 獲取簡體中文字符的常用屬性比如拼音,多音字,同音字,筆畫數
- 將小寫的數字字符串格式化成簡體中文,繁體中文,日文和韓文的大寫數字字符串
二、安裝使用
1)打開下載地址,解壓安裝 CHSPinYinConv.msi
2)打開默認安裝目錄:C:\Program Files (x86)\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library\
3)在項目中,添加引用,ChnCharInfo.dll
三、源碼
1 public static class PinYinHelper 2 { 3 /// <summary> 4 /// 返回字符串的簡拼 5 /// </summary> 6 /// <param name="inputTxt"></param> 7 /// <returns></returns> 8 public static string GetShortPinYin(string inputTxt) 9 { 10 string shortPinYin = ""; 11 foreach (char c in inputTxt.Trim()) 12 { 13 if (ChineseChar.IsValidChar(c)) 14 { 15 ChineseChar chineseChar = new ChineseChar(c); 16 shortPinYin += chineseChar.Pinyins[0].Substring(0, 1).ToUpper(); 17 continue; 18 } 19 20 if (Regex.IsMatch(c.ToString(), @"^[a-zA-Z]$")) 21 { 22 shortPinYin += c.ToString().ToUpper(); 23 continue; 24 } 25 26 shortPinYin += "?"; 27 } 28 return shortPinYin; 29 } 30 31 /// <summary> 32 /// 返回字符串全拼 33 /// </summary> 34 /// <param name="inputTxt"></param> 35 /// <returns></returns> 36 public static string GetAllPinYin(string inputTxt) 37 { 38 string allPinYin = ""; 39 foreach (char c in inputTxt.Trim()) 40 { 41 ChineseChar chineseChar = new ChineseChar(c); 42 allPinYin += chineseChar.Pinyins[0].Substring(0, chineseChar.Pinyins[0].Length - 1).ToUpper(); 43 } 44 return allPinYin; 45 } 46 }