C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
昨天經(jīng)過網(wǎng)友提醒,提取漢字拼音的方法可以使用微軟的一個(gè)類庫 Visual Studio International Pack ,今天試了一試,確實(shí)好用!下面分享下使用方法:
首先下載Visual Studio International Pack 1.0,官方下載地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=44CAC7F0-633B-477D-AED2-99AEE642FC10&displaylang=zh-cn。下載完畢后解壓,解壓后可以發(fā)現(xiàn)7個(gè)MSI安裝文件,其中CHSPinYinConv.msi是漢字拼音組件,CHTCHSConv.msi是進(jìn)行繁簡(jiǎn)體互轉(zhuǎn)組件,安裝這兩個(gè)MSI就可以了 (x86操作系統(tǒng)上的默認(rèn)安裝目錄是 C:\Program Files\Microsoft Visual Studio International Pack\) 。安裝完畢后,需要在VS里添加引用,分別引用:C:\Program Files\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library(拼音)下和C:\Program Files\Microsoft Visual Studio International Pack\Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool(繁簡(jiǎn)互轉(zhuǎn))下的dll 即可使用。
完成上面的工作后,使用方法就非常簡(jiǎn)單了,下面看代碼:
using Microsoft.International.Converters.PinYinConverter;//導(dǎo)入拼音相關(guān)namespace WebApplication2 {public class Class1{ /// <summary> /// 漢字轉(zhuǎn)化為拼音/// </summary> /// <param name="str">漢字</param> /// <returns>全拼</returns> public static string GetPinyin(string str){string r = string.Empty;foreach (char obj in str){try{ChineseChar chineseChar = new ChineseChar(obj);string t = chineseChar.Pinyins[0].ToString();r += t.Substring(0, t.Length - 1);}catch{r += obj.ToString();}}return r;}/// <summary> /// 漢字轉(zhuǎn)化為拼音首字母/// </summary> /// <param name="str">漢字</param> /// <returns>首字母</returns> public static string GetFirstPinyin(string str){string r = string.Empty;foreach (char obj in str){try{ChineseChar chineseChar = new ChineseChar(obj);string t = chineseChar.Pinyins[0].ToString();r += t.Substring(0, 1);}catch{r += obj.ToString();}}return r;}} }?
調(diào)用方法:(注意先引用)
GetPinyin("風(fēng)影");//獲取全拼
GetFirstPinyin("風(fēng)影");//獲取首字母
?
是不是非常簡(jiǎn)單呢?有了這個(gè)類庫就省事多了!順便再補(bǔ)充一下繁簡(jiǎn)體互轉(zhuǎn)的方法,某些時(shí)候可能會(huì)用到:
先導(dǎo)入
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;
/// <summary> /// 簡(jiǎn)體轉(zhuǎn)換為繁體/// </summary> /// <param name="str">簡(jiǎn)體字</param> /// <returns>繁體字</returns> public static string GetTraditional(string str){string r = string.Empty;r = ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional);return r;}/// <summary> /// 繁體轉(zhuǎn)換為簡(jiǎn)體/// </summary> /// <param name="str">繁體字</param> /// <returns>簡(jiǎn)體字</returns> public static string GetSimplified(string str){string r = string.Empty;r = ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified);return r;}?該類庫的功能概述
Microsoft Visual Studio International Pack 1.0版 包括以下功能:
- East Asia Numeric Formatting Library - 支持將小寫的數(shù)字字符串格式化成簡(jiǎn)體中文,繁體中文,日文和韓文的大寫數(shù)字字符串。
- Japanese Kana Conversion Library - 支持將日文假名(Kana)轉(zhuǎn)化為另一種日文字符。
- Japanese Text Alignment Library - 支持日文特有的一種對(duì)齊格式。
- Japanese Yomi Auto-Completion Library - 類庫支持感知日文輸入法的輸入自動(dòng)完成和一個(gè)文本框控件的示例。
- Korean Auto Complete TextBox Control - 支持韓文輸入法的智能感知和輸入自動(dòng)完成的文本框控件。
- Simplified Chinese Pin-Yin Conversion Library - 支持獲取簡(jiǎn)體中文字符的常用屬性比如拼音,多音字,同音字,筆畫數(shù)。
- Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool - 支持簡(jiǎn)繁體中文之間的轉(zhuǎn)換。該組件還包含一個(gè)Visual Studio集成開發(fā)環(huán)境中的插件(Add-in)支持簡(jiǎn)繁體中文資源文件之間的轉(zhuǎn)換。
?
Visual Studio International Feature Pack 2.0 是對(duì) 1.0 版本的擴(kuò)展,包含一組控件和類庫:
- Yomigana Framework 包含了類庫和控件。
- 類庫:Yomigana 類庫容許對(duì)串(string)類型加注 Yomigana,同時(shí)也支持對(duì)一般類型的注解功能,任何實(shí)現(xiàn)了IEnumerable接口的對(duì)象都可以被串類型和泛型的實(shí)例注解。為了簡(jiǎn)化復(fù)雜的注解字符串比較特設(shè)計(jì)了支持各種日文比較選項(xiàng)的比較類型。
- 通用的一些類,用泛型實(shí)現(xiàn)對(duì)一個(gè)可枚舉的類型注音。
- 特殊目的的一些類,用以上泛型實(shí)現(xiàn)對(duì)一個(gè)字符串用某種類型中注音。
- 特殊目的的一些StringAnnotation 類,用以上泛型實(shí)現(xiàn)對(duì)一個(gè)字符串用字符串注音,包括解析和格式化功能。
- 一個(gè)比較器類,使用以上類實(shí)現(xiàn)比較字符串。
- 一個(gè)實(shí)現(xiàn)了 IEnumerable <string> 的數(shù)據(jù)結(jié)構(gòu),把一個(gè)字符串分成枚舉的字符串段,并用 IEnumerator <string> 輸出。
- 控件:
- 增強(qiáng)的Ajax/WPF/WinForm 文本框(TextBox)控件 用來根據(jù)用戶的輸入捕獲讀音。
- 一個(gè)增強(qiáng)的使用Ruby標(biāo)簽的ASP.NET Label控件。
- 類庫:Yomigana 類庫容許對(duì)串(string)類型加注 Yomigana,同時(shí)也支持對(duì)一般類型的注解功能,任何實(shí)現(xiàn)了IEnumerable接口的對(duì)象都可以被串類型和泛型的實(shí)例注解。為了簡(jiǎn)化復(fù)雜的注解字符串比較特設(shè)計(jì)了支持各種日文比較選項(xiàng)的比較類型。
- Chinese Text Alignment Class Library and TextBox Controls 包含支持簡(jiǎn)體中文文本對(duì)齊的WinForm 和 WPF 的TextBox控件, 以及供幫助開發(fā)人員很容易地按中文文本對(duì)齊顯示字符串的一個(gè)類庫。
- Chinese Auto Complete Class Library and TextBox Controls 包含支持感知簡(jiǎn)體中文和繁體中文輸入法并自動(dòng)完成的WinForm 和 WPF 的TextBox控件, 以及供開發(fā)人員很容易地向標(biāo)準(zhǔn)控件添加感知輸入法并自動(dòng)完成功能的一個(gè)類庫。
- Korean Auto Complete Class Library and ComboBox Controls 包含支持感知韓語輸入法并自動(dòng)完成的WinForm 和 WPF 的ComboBox控件, 以及供開發(fā)人員很容易地向標(biāo)準(zhǔn)控件添加感知輸入法并自動(dòng)完成功能的一個(gè)類庫。
- Numeric Formatting Class Library 包含支持五種語言的數(shù)字格式化成文字的類, 2.0 版支持格式化阿拉伯?dāng)?shù)字為阿拉伯文字。
可見,這個(gè)類庫在開發(fā)國(guó)際化程序時(shí)是非常實(shí)用的。 - Yomigana Framework 包含了類庫和控件。
轉(zhuǎn)載于:https://www.cnblogs.com/wmlunge/archive/2012/12/06/2805488.html
總結(jié)
以上是生活随笔為你收集整理的C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS UIPageControlle
- 下一篇: C#中字符串保留双引号