java获取中文拼音首字母

  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" };存放所有国标二级汉字读音private final static String ls_SecondSecTable ="CJWGNSPGCGNE[Y[BTYYZDXYKYGT[JNNJQMBSGZSCYJSYY" +"[PGKBZGY[YWJKGKLJYWKPJQHY[W[DZLSGMRYPYWWCCKZNKYYGTTNJJNYKKZYTCJNMCYLQLYPYQFQRPZSLWBTGKJFYXJWZLTBNCXJJJJTXDTTSQZYCDXXHGCK" +"[PHFFSS[YBGXLPPBYLL[HLXS[ZM[JHSOJNGHDZQYKLGJHSGQZHXQGKEZZWYSCSCJXYEYXADZPMDSSMZJZQJYZC[J" +"[WQJBYZPXGZNZCPWHKXHQKMWFBPBYDTJZZKQHYLYGXFPTYJYYZPSZLFCHMQSHGMXXSXJ[" +"[DCSBBQBEFSJYHXWGZKPYLQBGLDLCCTNMAYDDKSSNGYCSGXLYZAYBNPTSDKDYLHGYMYLCXPY" +"[JNDQJWXQXFYYFJLEJPZRXCCQWQQSBNKYMGPLBMJRQCFLNYMYQMSQYRBCJTHZTQFRXQHXMJJCJLXQGJMSHZKBSWYEMYLTXFSYDSWLYCJQXSJNQBSCTYHBFTDCYZDJWY" +"GHQFRXWCKQKXEBPTLPXJZSRMEBWHJLBJSLYYSMDXLCLQKXLHXJRZJMFQHXHWYWSBHTRXXGLHQHFNM[YKLDYXZPYLGG[MTCFPAJJZYLJTYANJGBJPLQGDZYQY" +"AXBKYSECJSZNSLYZHSXLZCGHPXZHZNYTDSBCJKDLZAYFMYDLEBBGQYZKXGLDNDNYSKJSHDLYXBCGHXYPKDJMMZNGMMCLGWZSZXZJFZNMLZZTHCSYDBDLLSCDD" +"NLKJYKJSYCJLKWHQASDKNHCSGANHDAASHTCPLCPQYBSDMPJLPZJOQLCDHJJYSPRCHN[NNLHLYYQYHWZPTCZGWWMZFFJQQQQYXACLBHKDJXDGMMYDJXZLLSYGX" +"GKJRYWZWYCLZMSSJZLDBYD[FCXYHLXCHYZJQ[[QAGMNYXPFRKSSBJLYXYSYGLNSCMHZWWMNZJJLXXHCHSY[[TTXRYCYXBYHCSMXJSZNPWGPXXTAYBGAJCXLY" +"[DCCWZOCWKCCSBNHCPDYZNFCYYTYCKXKYBSQKKYTQQXFCWCHCYKELZQBSQYJQCCLMTHSYWHMKTLKJLYCXWHEQQHTQH[PQ" +"[QSCFYMNDMGBWHWLGSLLYSDLMLXPTHMJHWLJZYHZJXHTXJLHXRSWLWZJCBXMHZQXSDZPMGFCSGLSXYMJSHXPJXWMYQKSMYPLRTHBXFTPMHYXLCHLHLZY" +"LXGSSSSTCLSLDCLRPBHZHXYYFHB[GDMYCNQQWLQHJJ[YWJZYEJJDHPBLQXTQKWHLCHQXAGTLXLJXMSL[HTZKZJECXJCJNMFBY[SFYWYBJZGNYSDZSQYRSLJ" +"PCLPWXSDWEJBJCBCNAYTWGMPAPCLYQPCLZXSBNMSGGFNZJJBZSFZYNDXHPLQKZCZWALSBCCJX[YZGWKYPSGXFZFCDKHJGXDLQFSGDSLQWZKXTMHSBGZMJZRGLYJ" +"BPMLMSXLZJQQHZYJCZYDJWBMYKLDDPMJEGXYHYLXHLQYQHKYCWCJMYYXNATJHYCCXZPCQLBZWWYTWBQCMLPMYRJCCCXFPZNZZLJPLXXYZTZLGDLDCKLYRZZGQTG" +"JHHGJLJAXFGFJZSLCFDQZLCLGJDJCSNZLLJPJQDCCLCJXMYZFTSXGCGSBRZXJQQCTZHGYQTJQQLZXJYLYLBCYAMCSTYLPDJBYREGKLZYZHLYSZQLZNWCZCLLWJQ" +"JJJKDGJZOLBBZPPGLGHTGZXYGHZMYCNQSYCYHBHGXKAMTXYXNBSKYZZGJZLQJDFCJXDYGJQJJPMGWGJJJPKQSBGBMMCJSSCLPQPDXCDYYKY[CJDDYYGYWRHJRTGZ" +"NYQLDKLJSZZGZQZJGDYKSHPZMTLCPWNJAFYZDJCNMWESCYGLBTZCGMSSLLYXQSXSBSJSBBSGGHFJLYPMZJNLYYWDQSHZXTYYWHMZYHYWDBXBTLMSYYYFSXJC[DXX" +"LHJHF[SXZQHFZMZCZTQCXZXRTTDJHNNYZQQMNQDMMG[YDXMJGDHCDYZBFFALLZTDLTFXMXQZDNGWQDBDCZJDXBZGSQQDDJCMBKZFFXMKDMDSYYSZCMLJDSYNSBRS" +"KMKMPCKLGDBQTFZSWTFGGLYPLLJZHGJ[GYPZLTCSMCNBTJBQFKTHBYZGKPBBYMTDSSXTBNPDKLEYCJNYDDYKZDDHQHSDZSCTARLLTKZLGECLLKJLQJAQNBDKKGHP" +"JTZQKSECSHALQFMMGJNLYJBBTMLYZXDCJPLDLPCQDHZYCBZSCZBZMSLJFLKRZJSNFRGJHXPDHYJYBZGDLQCSEZGXLBLGYXTWMABCHECMWYJYZLLJJYHLG[DJLSLY" +"GKDZPZXJYYZLWCXSZFGWYYDLYHCLJSCMBJHBLYZLYCBLYDPDQYSXQZBYTDKYXJY[CNRJMPDJGKLCLJBCTBJDDBBLBLCZQRPPXJCJLZCSHLTOLJNMDDDLNGKAQHQH" +"JGYKHEZNMSHRP[QQJCHGMFPRXHJGDYCHGHLYRZQLCYQJNZSQTKQJYMSZSWLCFQQQXYFGGYPTQWLMCRNFKKFSYYLQBMQAMMMYXCTPSHCPTXXZZSMPHPSHMCLMLDQF" +"YQXSZYYDYJZZHQPDSZGLSTJBCKBXYQZJSGPSXQZQZRQTBDKYXZKHHGFLBCSMDLDGDZDBLZYYCXNNCSYBZBFGLZZXSWMSCCMQNJQSBDQSJTXXMBLTXZCLZSHZCXRQ" +"JGJYLXZFJPHYMZQQYDFQJJLZZNZJCDGZYGCTXMZYSCTLKPHTXHTLBJXJLXSCDQXCBBTJFQZFSLTJBTKQBXXJJLJCHCZDBZJDCZJDCPRNPQCJPFCZLCLZXZDMXMPH" +"JSGZGSZZQLYLWTJPFSYASMCJBTZKYCWMYTCSJJLJCQLWZMALBXYFBPNLSFHTGJWEJJXXGLLJSTGSHJQLZFKCGNNNSZFDEQFHBSAQTGYLBXMMYGSZLDYDQMJJRGBJ" +"TKGDHGKBLQKBDMBYLXWCXYTTYBKMRTJZXQJBHLMHMJJZMQASLDCYXYQDLQCAFYWYXQHZ";/*** 字符串编码转换* @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 (Exception ex) {System.out.println("字符串编码转换异常:" + ex.getMessage());}return str;}/*** 取得给定汉字的首字母,即声母* @param chinese 给定的汉字* @return 给定汉字的声母*/public static String getFirstLetter(String chinese) {String sreturn="";if (chinese == null || chinese.trim().length() == 0) {return "";}chinese = conversionStr(chinese, "GB2312", "ISO8859-1");if (chinese.length() > 1) // 判断是不是汉字{int li_SectorCode_s = (int) chinese.charAt(0); // 汉字区码int li_PositionCode_s = (int) chinese.charAt(1); // 汉字位码int li_SectorCode = li_SectorCode_s - 160;int li_PositionCode = li_PositionCode_s - 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]) {sreturn = lc_FirstLetter[i] ;break;}}}else {//二级字库偏移量int ioffset = (li_SectorCode - 56) * 94 + li_PositionCode - 1;if (ioffset >= 0 && ioffset <= 3007) {sreturn =  ls_SecondSecTable.substring(ioffset, ioffset + 1);}}}return sreturn;}/*** 取得给定汉字串的首字母串,即声母串* @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;}public static void main(String[] args) {System.out.print(getAllFirstLetter("首字母"));}

​ java获取中文拼音首字母​相关推荐

  1. java 获取中文拼音首字母(缩写)

    第一种: 直接上代码(有个别中文无法识别): import java.io.UnsupportedEncodingException; /*** * @author yuki_ho**/ public ...

  2. java获取中文拼音首字母

    import net.sourceforge.pinyin4j.PinyinHelper;public class PinyinHelperUtil {/*** 得到中文首字母(中国 -> ZG ...

  3. java怎么获取中文首字母_Java如何获取中文拼音首字母的方法介绍

    下面小编就为大家带来一篇java获取中文拼音首字母的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 如下所示: import net.sourceforge.pin ...

  4. java 拼音首字母_java获取中文拼音首字母的实例

    导读热词 正文 如下所示: import net.sourceforge.pinyin4j.PinyinHelper; public class PinyinHelperUtil { /** * 得到 ...

  5. 自动获取中文拼音首字母方法-Asp.net

    调用方法:GetFirstAlphabet("中文拼音首字母方法!");     public string GetFirstAlphabet(string str)     // ...

  6. JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容

    实现效果: 图一: 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字.所以alert对话框中显示的是多种读音的组合. 怎样实现? 怎样实现通过拼音首字母高速查找页面内的 ...

  7. JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容

    实现效果: 图一: 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字,所以alert对话框中显示的是多种读音的组合: 如何实现? 如何实现通过拼音首字母快速查找页面内的 ...

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

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

  9. python获取中文拼音首字母以进行检索

    最近在项目中有这个一个需求,就是要进行首字母查询,就是搜索"王菲",可以用"wf"来搜索. 搜索了一下,没有现在的python代码,倒有现成的php代码.修改一 ...

  10. 取中文拼音首字母,提供了多音字的选择 js javascript c# java(转)

    转:http://www.cnblogs.com/sqshine/archive/2008/12/23/1360598.html 第一个js版本 第二个C#版本 第三个也是C#版本 第四个java版本 ...

最新文章

  1. 【c语言】求最大最小值
  2. 只腐蚀毛刺 腐蚀算法_摩托车油箱防腐蚀、油封安装、密封清洗经验分享
  3. 【机器学习入门笔记15:BP神经网络逼近股票收盘价格2】20190218
  4. ASP.NET Core MVC 之过滤器(Filter)
  5. 数据分析 | 基于智能标签,精准管理数据
  6. 计算机键盘输入法基础知识,教程计算机基础知识-:认识输入法
  7. 【312天】我爱刷题系列071(2017.12.14)
  8. 2017-2018-1 20155321 20155330 《信息安全系统设计基础》实验四——外设驱动程序设计...
  9. [洛谷P3346][ZJOI2015]诸神眷顾的幻想乡
  10. C++类成员空间分配和虚函数表
  11. 科创人·黑湖科技CEO周宇翔:To B产品不应忽视产品体验,制造业的未来是需求定义生产
  12. 蓝屏dump分析教程,附分析工具WinDbg
  13. JavaScript之Ajax(一篇入门Ajax就够了)
  14. 腾讯云云服务器迁移服务相关问题
  15. 用计算机术语形容人性格的词语,电脑桌创意广告词——关于电脑桌的广告语
  16. unity获取obs虚拟摄像头
  17. qq邮箱中的发件服务器是什么格式,qq邮箱的SMTP服务器是什么
  18. linux下配置NAT服务
  19. 不用第三方之C#实现大容量报表系统(转)
  20. 钉钉开放平台“常见问题常见问题常见问题“

热门文章

  1. C99标准的新特性介绍
  2. matlab 积分函数曲线,matlab数值积分函数
  3. php 单位食堂订餐,职工食堂微信订餐系统 单位饭卡消费系统
  4. 视易收银系统怎样连接服务器,视易收银系统操作方法
  5. 创新创业_创业基础_课后作业
  6. 【工作感悟】linuxdocker运行windows镜像
  7. 锐捷wifi魔盒自动优选服务器,锐捷校园网用python实现自动登录(需要有自己的账号)...
  8. PCIe协议中的电源管理概述
  9. IT项目管理之第7章 项目质量管理习题之案例分析汇总
  10. 24点自动出题,可打印,A4排版