C#拼音转换,将简体中文转换成拼音

1. 要进行拼音转换操作,首先要引入几个文件,也就是用于操作拼音转换的文件,就是微软提供给开发者的一个类库

Microsoft Visual Studio International Pack 1.0 SR1 点击进行下载

也可以在我提供给大家的下载链接中下载:

http://pan.baidu.com/share/link?shareid=652797632&uk=2937807614

这两个地方资源一样,里面有7个文件:

CHSPinYinConv.msi是把简体中文转换成拼音的组件,

CHTCHSConv.msi是进行繁简体互相转换的组件

其他的根据需求进行安装,主要是获取里面的文件,如下图

比如简体中文转换拼音组件安装完之后,在安装目录找到文件

把这三个文件拷贝到项目中,再对ChnCharInfo.dll添加引用,这样我们就开始我们的代码编写:如下

 1 #region 获取字符串的全拼
 2         /// <summary>
 3         /// 获取字符串的全拼
 4         /// </summary>
 5         /// <param name="str">要转换的字符串</param>
 6         /// <returns></returns>
 7         public string GetPinYin(string str)
 8         {
 9             string r = string.Empty;
10             foreach (char obj in str)
11             {
12                 if (ChineseChar.IsValidChar(obj))//识别这个字符是否是一个有效的汉字字符
13                 {
14                     try
15                     {
16                         ChineseChar chin = new ChineseChar(obj);//就是通过这个类进行转换
17                         string t = chin.Pinyins[0].ToString();//获取到每个字符的第一个拼音
18 
19                         //之所以获取全拼也要截取是因为每个字符的拼音后面有一个数字代表音调,所以要去掉
20                         r += t.Substring(0, t.Length - 1);//length-1就是去掉最后的数字
21                     }
22                     catch (Exception)
23                     {
24                         r += obj.ToString();//如果出现异常则原样输出字符串
25                         throw;
26                     }
27                 }
28                 else
29                 {
30                     r += obj;
31                 }
32             }
33             return r;
34         }
35         #endregion
36 
37         #region 获取字符串的首字母
38         /// <summary>
39         /// 获取字符串的首字母
40         /// </summary>
41         /// <param name="str">要转换的字符串</param>
42         /// <returns></returns>
43         public string GetFirstPinYin(string str)
44         {
45             string r = string.Empty;
46             foreach (char obj in str) //遍历字符串的每个字符
47             {
48                 if (ChineseChar.IsValidChar(obj))//识别这个字符是否是一个有效的汉字字符
49                 {
50                     try
51                     {
52                         ChineseChar chin = new ChineseChar(obj);
53                         string t = chin.Pinyins[0].ToString();//获取到每个字符的第一个拼音
54                         r += t.Substring(0, 1);// 把每个拼音的首字母用Substring进行截取出来再拼接
55                     }
56                     catch (Exception)
57                     {
58                         r += obj.ToString();//如果出现异常则原样输出字符串
59                         throw;
60                     }
61                 }
62                 else
63                 {
64                     r += obj;
65                 }
66             }
67             return r;
68         }
69         #endregion
C#实习简体中文转换成拼音的代码


如调用GetPinYin("李亚杰");//得到的结果是:LIYAJIE

如调用GetFirstPinYin("李亚杰");//得到的结果是:LYJ

文件不大,功能却很强大

原文地址:https://www.cnblogs.com/liyajie/p/3366821.html