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拾遗补缺
    Spring boot整合shiro权限管理
    Maven项目使用阿里云的Maven库
    Spring Boot设置上传文件大小
    mysql悲观锁中的共享锁和排他锁
    MySQL命令show full processlist
    log4j配置文件中的additivity属性
    每天一个liunx命令2之rz和sz命令
    数据库锁表及阻塞的原因和解决办法
    Java加密技术(一)—— HMACSHA1 加密算法
  • 原文地址:https://www.cnblogs.com/liuriqi/p/4039222.html
Copyright © 2011-2022 走看看