java 代码 输入中文_java实现汉字取拼音首字母--尝试着贴些简洁的对大家可能有用的代码...

首先很不好意思,由于工作实在太忙,周末也好多时间忙在工作上,所以这两年博客更新地不勤。为了避免被lead误解成“在论坛上鬼混”,所以以后发贴尽量少写文字,直截了当贴代码。为什么这么做,主要是在平常工作中可能会遇上一些问题,在解决后总想将一些代码与大家分享(当然如果网上有许多类似代码了就不贴了,我贴的要么是网上有很多用下来不爽的或者甚至有抛异常的,所以才贴上自己的代码。本博客的原则是如果不写转载,那100%原创. 好了,这是第一篇,以后就啥都不说,一切尽在注释中。

import net.sourceforge.pinyin4j.*;

import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;

import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;

import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

public class Pinyin4jtest

{

/**

* 输入汉字字符串,得到其每个字的拼音首字母

* @param chinese 汉字与其它混杂的源字符串

* @return 首字母(不是汉字的部分原样返回)

* @throws BadHanyuPinyinOutputFormatCombination

*/

public static String getPinyIninitialsLetters(String chinese) throws BadHanyuPinyinOutputFormatCombination

{

String rtnStr="";

char singlechar;

HanyuPinyinOutputFormat format=new HanyuPinyinOutputFormat();

format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); //取得拼音的格式为不带声调号

for(int i=0;i

{

singlechar=chinese.charAt(i);

String[] pinyin=PinyinHelper.toHanyuPinyinStringArray(singlechar,format);

if(pinyin==null||pinyin.length==0)

{

rtnStr+=singlechar;

}

else{

rtnStr+=pinyin[0].substring(0, 1);//多音字时只取第一个音,并取得其拼音手字母

}

}

return rtnStr;

}

/**

* 最简单的测试主程序,也不去用Junit了,好让大家省点jar包

* @param args

* @throws BadHanyuPinyinOutputFormatCombination

*/

public static void main(String[] args) throws BadHanyuPinyinOutputFormatCombination

{

String pinyinini=getPinyIninitialsLetters("中国第1峰").toUpperCase();

System.out.println(pinyinini);

}

}

//以上例子用到的 jar包為pinyin4j-2.5.0.jar,你可以在sourceforge官方得到最新版本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值