• 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

    文件不大,功能却很强大

  • 相关阅读:
    Python常用第三方库总结
    Python爬虫技术--入门篇--爬虫介绍
    X sql解惑 25 里程碑问题 答案
    X sql解惑 34 咨询顾问收入问题
    从小变大的照片
    获取属性的顺序
    for...in
    判断元素是否存在
    自由的元素名称
    ES6语法糖-简洁属性表示
  • 原文地址:https://www.cnblogs.com/liyajie/p/3366821.html
Copyright © 2020-2023  润新知