Pom.xml文件

<dependency>

<groupId>com.belerweb</groupId>

<artifactId>pinyin4j</artifactId>

<version>2.5.0</version>

</dependency>

Util工具类

package com.XXX.util;

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.exception.BadHanyuPinyinOutputFormatCombination;

/**

* 汉字拼音工具类

*/

public class PinyinTool {

HanyuPinyinOutputFormat format = null;

public static enum Type {

UPPERCASE,              //全部大写

LOWERCASE,              //全部小写

FIRSTUPPER              //首字母大写

}

public PinyinTool(){

format = new HanyuPinyinOutputFormat();

format.setCaseType(HanyuPinyinCaseType.UPPERCASE);

format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

}

public String toPinYin(String str) throws BadHanyuPinyinOutputFormatCombination{

return toPinYin(str, "", Type.UPPERCASE);

}

public String toPinYin(String str,String spera) throws BadHanyuPinyinOutputFormatCombination{

return toPinYin(str, spera, Type.UPPERCASE);

}

/**

* 将str转换成拼音,如果不是汉字或者没有对应的拼音,则不作转换

* 如: 明天 转换成 MINGTIAN

* @param str:要转化的汉字

* @param spera:转化结果的分割符

* @return

* @throws BadHanyuPinyinOutputFormatCombination

*/

public String toPinYin(String str, String spera, Type type) throws BadHanyuPinyinOutputFormatCombination {

if(str == null || str.trim().length()==0)

return "";

if(type == Type.UPPERCASE)

format.setCaseType(HanyuPinyinCaseType.UPPERCASE);

else

format.setCaseType(HanyuPinyinCaseType.LOWERCASE);

String py = "";

String temp = "";

String[] t;

for(int i=0;i<str.length();i++){

char c = str.charAt(i);

if((int)c <= 128)

py += c;

else{

t = PinyinHelper.toHanyuPinyinStringArray(c, format);

if(t == null)

py += c;

else{

temp = t[0];

if(type == Type.FIRSTUPPER)

temp = t[0].toUpperCase().charAt(0)+temp.substring(1);

py += temp+(i==str.length()-1?"":spera);

}

}

}

return py.trim();

}

}

Main测试

package com.XXX.test;

import com.XXX.PinyinTool;

import comXXX.PinyinTool.Type;

/**

* 测试拼音转化结果

* @author liuyazhuang

*

*/

public class PingyinToolTest {

public static void main(String[] args) throws Exception{

PinyinTool tool = new PinyinTool();

System.out.println("哈哈哈的运行测试结果为====" + tool.toPinYin("哈哈哈", "", Type.LOWERCASE));

}

}

maven 汉字转拼音相关推荐

  1. Java pinyin4j 汉字转拼音包括——多音字

    Java汉字转拼音(包括多音字) 有个需求需要把汉字转拼音,我的小伙伴推荐用Unicode官方的包:下载有些慢. 实际中用了Java工具包:pinyin4j解决 可以转汉字,多音字,多音字的地方要求不 ...

  2. java 实现汉字转换拼音_JAVA实现汉字转拼音功能代码实例

    JAVA中汉字转拼音的方法并不复杂,可以使用pinyin4j包来实现. 一.下载pinyin4j的架包,并导入项目中,如下: 如果是maven项目,maven依赖如下: com.belerweb pi ...

  3. Java 汉字转拼音 Scala 汉字转拼音

    汉字转拼音 Maven引用 <dependency><groupId>com.belerweb</groupId><artifactId>pinyin4 ...

  4. sql unicode转中文_汉字转拼音的Java类库 JPinyin

    JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进. [JPinyin主要特性] 1.准确.完善的字库: Unicode编码从4E00-9FA5范围及3007 ...

  5. 汉字转拼音,TinyPinyin、Pinyin4j与JPinyin哪个库更快

    1. 介绍 本文对TinyPinyin.Pinyin4j与JPinyin三个汉字转拼音库的用法.测试代码及转换的结果做一个简单的总结. TinyPinyin 适用于Java和Android的快速.低内 ...

  6. 关于汉字转拼音的Pinyin4j工具使用

    关于汉字转拼音的Pinyin4j工具使用 1 Pinyin4j的简介 2 Pinyin4j的使用 1 添加maven依赖 2 添加汉字转拼音工具类 关于汉字转为拼音的相关实现,通常使用Pinyin4j ...

  7. 【汉字转拼音工具】Java 汉字转拼音

    文章目录 Maven依赖引入 Java代码实现 Maven依赖引入 <dependency><groupId>com.belerweb</groupId><a ...

  8. Java汉字转换拼音工具类

    1. 使用pinyin4j 1.1 引入相关maven依赖 <dependency><groupId>com.belerweb</groupId><artif ...

  9. pinyin4J一款非常好用的汉字和拼音转换的插件

    给大家介绍一款非常好用的汉字转拼音,进行用拼音检索相关数据的时候比较方便,就是pinyin4j插件,在eclipse里如果是maven项目,直接导入相关约束,然后导入工具类,随时根据需求调用相关方法即 ...

  10. 编程乐趣--汉字转拼音

    各个国家语言上差异较大,本世纪英语特别的流行,至少在程序员上编程就是属于外国的.是英文编写的.那么我们的汉字就是一个特例了.下面说说汉字是如何转拼音的. jar包准备 点我下载pinyin4j.jar ...

最新文章

  1. 精细化容量管理的设备成本优化之路
  2. NT式驱动和WDM式驱动程序
  3. 2017沈阳站 Tree
  4. dz论坛修改html编辑器,discuz二次开发更换百度ueditor编辑器
  5. python server酱_12306这是肿么了?开售一秒就抢完,如何用Python抢到回家车票?
  6. RemoteDebug iOS Webkit Adapter(适配器):一个可以让你(随时)随地调试Safari、 iOS WebView(的适配器)
  7. vue项目之不一样的axios封装(+防抖函数)
  8. FFT为什么要加窗函数?
  9. 获取电信光猫天翼网关 3.0超级管理员密码,桥接模式,让网速上一个档次
  10. OA网站不能正常显示(不能看正文)
  11. R语言连续变量正态性检验
  12. 挖矿病毒入侵服务器(没有解决,重置服务器了)
  13. 解构沉浸式:AI+AR+Design 线下分享会【NSR主办的纽约场】
  14. 阿里P9专家:程序员未来职业发展路线
  15. 神经网络占用内存(显存)的计算
  16. XLNet 详解(看不懂你来骂我)
  17. python图片显示文本框_Python3 tkinter基础 Text image 文本框中插入图片
  18. 妥善处理的九大面试送命题
  19. borders.GetItem()方法 获取斜线Border (VC在Excel中画斜线格)
  20. html 与 css 画哆啦A梦

热门文章

  1. 快速获取知网,万方,维普等永久性免费下载权限
  2. 钽电容、贴片铝电解电容、二极管等正负极判断
  3. 从月薪3000到月薪过万:做什么工作才能过上想要的生活
  4. 图像分类基本流程及 KNN 分类器
  5. 先一XDB实时数据库采集
  6. 2019年360笔试
  7. 阿里云DataV数据可视化工具的简单使用与地图组件区域下钻热力图下钻上钻控制缩放比例demo
  8. 基于matlab的语音采集及处理
  9. 新时达服务器说明书_新时达电梯主板操作服务器使用手册操作说明书使用说明...
  10. 单片机IO口科普:推挽输出、开漏输出详解