public class GetStringSpell
   {
       /// <summary>  
       /// 提取汉字首字母  
       /// </summary>  
       /// <param name="strText">需要转换的字</param>  
       /// <returns>转换结果</returns>  
       public string GetChineseSpell(string strText)
       {
           int len = strText.Length;
           string myStr = "";
           for (int i = 0; i < len; i++)
           {
               myStr += getSpell(strText.Substring(i, 1));
           }
           return myStr;
       }
       /// <summary>  
       /// 把提取的字母变成大写  
       /// </summary>  
       /// <param name="strText">需要转换的字符串</param>  
       /// <returns>转换结果</returns>  
       public string GetLowerChineseSpell(string strText)
       {
           return GetChineseSpell(strText).ToLower();
       }
       /// <summary>  
       /// 把提取的字母变成大写  
       /// </summary>  
       /// <param name="myChar">需要转换的字符串</param>  
       /// <returns>转换结果</returns>  
       public  string GetUpperChineseSpell(string strText)
       {
           return GetChineseSpell(strText).ToUpper();
       }
       /// <summary>  
       /// 获取单个汉字的首拼音  
       /// </summary>  
       /// <param name="myChar">需要转换的字符</param>  
       /// <returns>转换结果</returns>  
       public static string getSpell(string myChar)
       {
           byte[] arrCN = System.Text.Encoding.Default.GetBytes(myChar);
           if (arrCN.Length > 1)
           {
               int area = (short)arrCN[0];
               int pos = (short)arrCN[1];
               int code = (area << 8) + pos;
               int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 };
               for (int i = 0; i < 26; i++)
               {
                   int max = 55290;
                   if (i != 25) max = areacode[i + 1];
                   if (areacode[i] <= code && code < max)
                   {
                       return System.Text.Encoding.Default.GetString(new byte[] { (byte)(65 + i) });
                   }
               }
               return "_";
           }
           else return myChar;
       }
   }

转载于:https://www.cnblogs.com/tzq9308/p/4388404.html

4月02日 提取汉字首字母,并大写的类相关推荐

  1. java pinyin4j 首字母_通讯录之按汉字首字母排序 --java--pinyin4J

    最近开发手机端OA系统通讯录时遇到了用汉字首字母排序的问题,各种谷歌后发现了一个轮子pinyin4J,这个轮子是可以将汉字转换成字母拼音,个人觉得很好用,完美的解决了排序的问题,分享一下. 一.工具介 ...

  2. 数仓工具—Hive实战之UDF汉字首字母(22)

    UDF 汉字首字母 今天这个业务背景其实很简单,就是公司有很多品牌,我们要提取每个名牌的第一个汉字的首字母,例如"宝马"就是 B , 然后"福特" 就是F,&q ...

  3. 【如何通过汉字首字母拼写查询数据】mysql数据库汉字首字母获取查询或通过ES插件elasticsearch-analysis-pinyin进行汉字首拼查询

    一.mysql数据库汉字首字母获取查询 1.汉字提取首字母 get_first_pinyin_char: 此函数是将一个中文字符串的第一个汉字转成拼音字母 (例如:"李"-> ...

  4. python 获取首字母_python获取汉字首字母-Go语言中文社区

    应用场景之一:可用于获取名字首字母,在数据库中查询记录时,可以用它来排序输出. from pytz import unicode # 获取汉字首字母 def multi_get_letter(str_ ...

  5. mysql 实现按首字母字典序排序以及根据字段汉字首字母搜索

    目录 mysql 实现按首字母字典序排序 mysql 根据字段汉字首字母搜索 mysql 实现按首字母字典序排序 mysql 一个表中的某一个字段存储的是人的名字 name 字符编码utf8_gene ...

  6. 按汉字首字母排序(sql语句)

    在sql server中可以直接通过SQL语句实现按汉字首字母排序,比如我们经常用到的"按姓名首字母排序" --把tableName和colName换成自己的就ok了 --按拼音 ...

  7. php根据汉字首字母分组,利用PHP获取汉字首字母并且分组排序详解

    前言 本文主要给大家介绍了关于PHP获取汉字首字母并分组排序的相关内容,因经常我们在做项目的时候,会有按首字母排序的需求 比如: 美团的城市选择 http://www.meituan.com/inde ...

  8. php 提取字的首字母,PHP提取中文首字母_php技巧

    PHP提取中文首字母_php技巧 代码如下: function pykey( $py_key) { $pinyin = 65536 + pys($py_key); if ( 45217 <= $ ...

  9. JS实现获取汉字首字母拼音、全拼音及混拼音的方法

    本文实例讲述了JS实现获取汉字首字母拼音.全拼音及混拼音的方法.分享给大家供大家参考,具体如下: 这里需要用到一个js获取汉字拼音的插件,可点击此处本站下载. 运行效果如下: 完整示例代码: ? 1 ...

最新文章

  1. 得分碾压人类的NLP系统诞生了,微软创CoQA挑战新纪录!
  2. R语言编程艺术(1)快速入门
  3. 【数论】【Polya定理】【枚举约数】【欧拉函数】【Java】poj2154 Color
  4. 将Numpy加速700倍——CuPy
  5. Dataset之Handwritten Digits:Handwritten Digits(手写数字图片识别)数据集简介、安装、使用方法之详细攻略
  6. 有关HL7 的C# 源码
  7. Typora的使用技巧
  8. FCPX插件:科幻切割分屏转场效果XEffects Tech Transitions mac版
  9. NETCONF YANG语言文件语法格式
  10. 错误 -source 1.6 中不支持 diamond 运算符的解决办法(已解决)
  11. linux内核串口调试,linux 串口调试方法
  12. markdown格式的文章如何转换为可以发布在微信公众号上的内容
  13. 在Java中用SHA1WithRSA创建的签名如何在.NET中验证
  14. Ubuntu双系统、ROS、软件安装教程
  15. 京东移动端URL自动跳转PC端URL插件
  16. HTML5植物大战僵尸网页版游戏源码
  17. 一个汉字等于多少个varchar2
  18. matlab 残差 dw,Eviews中的自相关检验与修正操作(一):残差图与DW检验
  19. OpenStack | Placement组件
  20. 数字IC设计的第一步——Synopsys EDA Tools的安装

热门文章

  1. java本地可以发到linux不行,java 使用 ftp 在windows环境下可以正常下载文件,在linux环境下不行...
  2. 儿童手工制作日历_德莎胶带手工制作实用且美观的巨幅挂历,让你未雨绸缪
  3. arraylist转int数组_LeetCode 1389. 按既定顺序创建目标数组
  4. android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码
  5. linux shell 等待输入_linux运维——基础篇
  6. php多态性和继承是什么意思,封装 继承 多态的区别
  7. python 复制文件夹内容 并结构一致_Python-移动和覆盖文件和文件夹
  8. linux通过字符串查看,linux命令strings有什么用?查找二进制文件可打印字符串。...
  9. es6添加删除class_ES6中常用的10个新特性讲解
  10. python数据接口设计_Python接口与归一化设计