zoukankan      html  css  js  c++  java
  • 使用pinyin4j实现汉字转拼音

    1. maven项目,请在pom.xml里边添加包依赖相关配置:

    1 <dependency>
    2     <groupId>net.sourceforge.pinyin4j</groupId>
    3     <artifactId>pinyin4j</artifactId>
    4     <version>2.5.0</version>
    5 </dependency>

    2.编写实例代码:

     1 /*
     2  * Copyright 2013 Alibaba.com All right reserved. This software is the
     3  * confidential and proprietary information of Alibaba.com ("Confidential
     4  * Information"). You shall not disclose such Confidential Information and shall
     5  * use it only in accordance with the terms of the license agreement you entered
     6  * into with Alibaba.com.
     7  */
     8 package com.yunos.tv.server.controller.web;
     9 
    10 
    11 import net.sourceforge.pinyin4j.PinyinHelper;
    12 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
    13 import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
    14 import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
    15 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
    16 
    17 import org.junit.Test;
    18 
    19 /**
    20  * 类PinyinTest.java的实现描述:TODO 类实现描述
    21  * @author riqi 2013-6-28 下午5:24:57
    22  */
    23 public class PinyinTest {
    24 
    25     @Test
    26     public void pinyinTest() {
    27 
    28         String input = "阿里巴巴";
    29         StringBuilder pinyin = new StringBuilder();
    30 
    31         for (int i = 0; i < input.length(); i++) {
    32             HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
    33             defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
    34             defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
    35             char c = input.charAt(i);
    36             String[] pinyinArray = null;
    37             try {
    38                 pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, defaultFormat);
    39             } catch (BadHanyuPinyinOutputFormatCombination e) {
    40                 e.printStackTrace();
    41             }
    42             if (pinyinArray != null) {
    43                 pinyin.append(pinyinArray[0]);
    44             } else if (c != ' ') {
    45                 pinyin.append(input.charAt(i));
    46             }
    47         }
    48 
    49         System.out.println(pinyin.toString().trim().toLowerCase());
    50     }
    51 
    52 }

    3. 运行结果:alibaba

  • 相关阅读:
    java static关键字的四种用法
    修改Intellij IDEA模板注解@author变量user内容
    iIDEA: 运行Scala代码右键没有Run选项
    idea 无法创建Scala class 选项解决办法汇总
    scala之idea下如何新建scala工程
    scala之windows环境安装与配置
    @RestController注解
    @component的作用详细介绍
    springboot 日期参数前后台转换问题
    MySQL数据库硬件选择
  • 原文地址:https://www.cnblogs.com/liuriqi/p/4039222.html
Copyright © 2011-2022 走看看