zoukankan      html  css  js  c++  java
  • 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

    文件不大,功能却很强大

  • 相关阅读:
    浅谈PHP7新特性
    TP5与TP3.X对比
    深入源码理解Spark RDD的数据分区原理
    OpenGL的一些基础概念
    关于Spark RDD 的认识
    Ubuntu安装Cloudera Manager以及CDH5.15.2
    小甲鱼零基础汇编语言学习笔记第六章之包含多个段的程序
    小甲鱼零基础汇编语言学习笔记第五章之[BX]和loop指令
    机器学习入门之决策树算法
    机器学习的基本概念
  • 原文地址:https://www.cnblogs.com/liyajie/p/3366821.html
Copyright © 2011-2022 走看看