JAVA获取汉字拼音首字母

package com.common.util;import java.io.UnsupportedEncodingException;/*** 取得给定汉字串的首字母串,即声母串 * Title: ChineseCharToEn * @date 注:只支持GB2312字符集中的汉字 */
public final class ChineseCharToEn {private final static int[] li_SecPosValue = { 1601, 1637, 1833, 2078, 2274,2302, 2433, 2594, 2787, 3106, 3212, 3472, 3635, 3722, 3730, 3858,4027, 4086, 4390, 4558, 4684, 4925, 5249, 5590 };private final static String[] lc_FirstLetter = { "a", "b", "c", "d", "e","f", "g", "h", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s","t", "w", "x", "y", "z" };/*** 取得给定汉字串的首字母串,即声母串 * @param str 给定汉字串 * @return 声母串*/public static String getAllFirstLetter(String str) {if (str == null || str.trim().length() == 0) {return "";}String _str = "";for (int i = 0; i < str.length(); i++) {_str = _str + getFirstLetter(str.substring(i, i + 1));}return _str;}/*** 取得给定汉字的首字母,即声母 * @param chinese 给定的汉字 * @return 给定汉字的声母*/public static String getFirstLetter(String chinese) {if (chinese == null || chinese.trim().length() == 0) {return "";}chinese = conversionStr(chinese, "GB2312", "ISO8859-1");if (chinese.length() > 1) // 判断是不是汉字  {int li_SectorCode = (int) chinese.charAt(0); // 汉字区码  int li_PositionCode = (int) chinese.charAt(1); // 汉字位码  li_SectorCode = li_SectorCode - 160;li_PositionCode = li_PositionCode - 160;int li_SecPosCode = li_SectorCode * 100 + li_PositionCode; // 汉字区位码  if (li_SecPosCode > 1600 && li_SecPosCode < 5590) {for (int i = 0; i < 23; i++) {if (li_SecPosCode >= li_SecPosValue[i]&& li_SecPosCode < li_SecPosValue[i + 1]) {chinese = lc_FirstLetter[i];break;}}} else // 非汉字字符,如图形符号或ASCII码  {chinese = conversionStr(chinese, "ISO8859-1", "GB2312");chinese = chinese.substring(0, 1);}}return chinese;}/*** 字符串编码转换 * @param str 要转换编码的字符串 * @param charsetName 原来的编码 * @param toCharsetName 转换后的编码 * @return 经过编码转换后的字符串*/private static String conversionStr(String str, String charsetName,String toCharsetName) {try {str = new String(str.getBytes(charsetName), toCharsetName);} catch (UnsupportedEncodingException ex) {System.out.println("字符串编码转换异常:" + ex.getMessage());}return str;}public static void main(String[] args) {System.out.println("获取拼音首字母:"+getAllFirstLetter("大中国南昌中大china"));}}

方便学习保存,
查看原文请到https://www.cnblogs.com/pxblog/p/10604003.html

JAVA获取汉字拼音首字母相关推荐

  1. java获取汉字拼音首字母A

    public class GetChinessFirstSpell{ /// <summary> /// 汉字拼音首字母列表 本列表包含了20901个汉字,用于配合 GetChineseS ...

  2. 【C#】获取汉字拼音首字母和全拼

    文章目录 利用CJK统一表意符号获取首字母 获取首字母和全拼 另附sql server解决方案 来源 java的同学可以了解下pinyin4j,js可以了解ChinesePY.js 获取拼音的意义多在 ...

  3. php获取汉字的首字母,php获取汉字拼音首字母的方法

    现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序.这是中国人大多数使用的排序方法.那么在php程序中该如何操作呢? 下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的 ...

  4. Excel中如何获取汉字拼音首字母

    Excel中如何获取汉字拼音首字母 在工作中,为了方便查询.排序或者编码,需要生成汉字内容信息的首字母,如果信息很多的话,一个个录入是一件很麻烦的事情,下面给大家介绍一个便捷的方法,轻松获取汉字拼音首 ...

  5. iOS 获取汉字拼音首字母

    iOS获取汉字首字母 这个一般用在通讯里排序居多,我这里就是用到了通讯里的排序,然后就来mark一下,记录. 核心代码 char pinyinFirstLetter(unsigned short ha ...

  6. iOS获取汉字拼音首字母的方法

    iOS获取汉字拼音首字母的方法 之前在项目中需要根据昵称的首字母进行排序,蹚了几个坑,今天记录一下.其实iOS系统封装的就有获取汉字首字母的方法,但不推荐,想看最优解的同学直接略过: var name ...

  7. php获取拼音首字母排序,PHP获取汉字拼音首字母的方法

    PHP获取汉字拼音首字母的方法: function getfirstchar($s0){ $fchar = ord($s0{0}); if($fchar >= ord("A" ...

  8. 在delphi 7中实现获取汉字拼音首字母

    公司的餐饮系统出品的助记码,还没实现自动从出品名称获取汉字拼音首字母. 所以在网上找了三种解决方法, 一种是kaguo 的使用常用汉字拼音查找方法,这种代码十分简单,实现方便,但是这种代码仅仅是一级字 ...

  9. sqlserver 获取汉字拼音首字母

    sqlserver 获取汉字拼音首字母 调用方式: select dbo.fun_getPY('张三') as result 脚本: create function [dbo].[fun_getPY] ...

  10. 在Excel中如何获取汉字拼音首字母?

    转自:https://jingyan.baidu.com/article/0a52e3f43c3f6abf63ed7259.html百度经验 在Excel中如何获取汉字拼音首字母?| 在工作中,为了方 ...

最新文章

  1. 子程序调用与宏定义的异同_如何用数控系统进行简单的宏程序调用?老师傅告诉你,用G65就行...
  2. 【玩转数据】让您的PPT数据图表炫酷起来吧!
  3. 一直以来伴随我的一些学习习惯(四):知识结构
  4. 概率图模型中的变量消除顺序
  5. zabbix监控工具
  6. label y 训练集测试集x_训练集、测试集 train_test_split
  7. python 项目构建工具_GitHub - shjlone/emake: 你见过的最简单的 GCC/CLANG 项目构建工具(python3版本)...
  8. checked exception和unchecked exception区别
  9. 一位女生写的追MM秘计
  10. 【Java】HashMap 和 Hashtable 的 6 个区别
  11. 找不到具有不变名称“System.Data.SqlClient”的ADO.NET提供程序的实体框架提供程序
  12. 如何将CAD图纸转换成彩色jpg
  13. 【ArcGIS Pro微课1000例】0009:ArcGIS Pro地理配准完整教程(建议收藏)
  14. 【flash】 水果忍者
  15. 16k Star!一个开源的命令行视频播放器
  16. 单片机c语言任务1——数码显示管0~9
  17. 计算机运行内存和显卡内存不足,Win10系统提示计算机显卡内存不足该怎么办?...
  18. python自动排版公众号_那些排版好看的公众号,都在偷偷使用这些神器
  19. 第一行代码-android-第三版-pdf扫描-思维导图-课件-源码
  20. 如何下载台湾的硕博论文

热门文章

  1. 《笨方法学习python》学习笔记
  2. ScreenToGif – 免费开源 GIF 录屏制作软件之王!对比多款主流 GIF 工具我选了它
  3. mysql脱库_mysql 脱裤(脱库)通用脚本
  4. UI自动化测试之iframe切换
  5. STM32控制AD7124采集调试流程
  6. 在LLVM中编写Backend Pass的详细教程(1)
  7. GBase数据库日常运维操作(一)
  8. 大规模分布式系统架构与设计实战
  9. vue开发:前端项目模板
  10. 前端获取视频第一帧作为封面