pinyin4j and my thinking

本文介绍了一种使用开源库pinyin4j将汉字转换为汉语拼音全拼的方法,并提供了详细的Java代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     昨天下午在会议室给客户演示项目的时候,在最后客户突然提出来一个需求就是当输入汉字的时候,可以自动的将汉字转换成汉语拼音的全拼,当客户一提出来,搞技术出身的我,一下子就想去如何实现,瞬间产生的记忆中没有捕获到这种程序的存在,可能是因为我经验比较少;当时也没有拒绝用户这个需求,只是暂缓了一下。

        下班吃晚饭后我马上打开Computer,Google了一下,果然的确在sourceforge有一个开源的Project就是做这个用的,欣喜若狂的我,立刻Download下来,然后又看了一下里面提供的Demo,觉得符合用户提出的要求,为了以后自己回首走过的人生道路上能够留下更多的足迹,我打算把它写在这里记录下来,既方便了自己也方便了大家,本人是一个非常喜欢Opensource的人,所以大学虽然四年在学校里面学的都是Microsoft那套东西,但是后来工作中却转向了Java,如今Sun公司已经被Oracle公司以74亿美元收购,其实在我看来这也是一个很好的归宿。对于开发人员来说,是好事还是坏事,让我们静观其发展。但是有一点不变的是我觉得Opensource,这是一个大的发展趋势,虽然Microsoft的Windows(视窗)OS(操作系统)给我留下了很好的印象,但是依旧没有改变我投身到开源大军中的欲望。对于各种商业运作我没有想过太多,我喜欢一句话:物竞天择,适者生存。我自己也是不断的努力,不断的学习,来适应这个快速发展的行业(IT)。

下面我把汉字转换成汉语拼音的一个Demo给大家展示在下面,这个Demo也是我在网上看到的我放在这里只是方便大家,没有其他意思。好了请看SourceCode as follows

package weiqi;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
public class GetPingYin {
    public static String getPingYin(String src){
        char[] t1 ;
        t1=src.toCharArray();
        String[] t2 = new String[t1.length];
        HanyuPinyinOutputFormat t3 = new   HanyuPinyinOutputFormat();
        t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
        t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        t3.setVCharType(HanyuPinyinVCharType.WITH_V);
        String t4="";
        int t0=t1.length;
        try {
          for (int i=0;i<t0;i++)
          {
//    判断是否为汉字字符函数
              if(java.lang.Character.toString(t1[i]).matches("[//u4E00-//u9FA5]+"))    
                  {
                  t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
                  t4+=t2[0];
                  }
              else
                  t4+=java.lang.Character.toString(t1[i]);
          }
          System.out.println(t4);//在控制台输出我们刚才测试的数据
          t4 = t4.trim();
        }
        catch (BadHanyuPinyinOutputFormatCombination e1) {
          e1.printStackTrace();
        }
        return t4;
      }
    public static void main(String[] args){
        GetPingYin.getPingYin("伟琦");
       
    }
       
}
最后大家,还有注意不要忘记将用到Jar包加到项目里面去,否则找不到相应的类哦!大家可以到它的网站上去下载,或者直接在我的资源里面也可以下载,我已经上传上去了。祝大家工作开心!

本人提供的资源下载网址:

http://download.youkuaiyun.com/source/1247648

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值