Java 解析汉字拼音

需要java包 :pinyin4j-2.5.0.jar

pinyin4j的使用很方便,一般转换只需要使用PinyinHelper类的静态工具方法即可:

String[] pinyin = PinyinHelper.toHanyuPinyinStringArray(‘赵’);

//该类还有其他的拼音转换形式,但是基本上用不到,就不介绍了

返回的数组即是该字符的拼音,如上例就是pinyin[0]=zhao,后面的数字代表声调,声调为5表示轻读,无声调。之所谓返回数组,是因为被判定的汉字有可能有多个读音。如果输入的参数不是汉字,则返回null。

package com.achni.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.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

public class SpellHelper {

    //将中文转换为英文
    public static String getEname(String name) throws BadHanyuPinyinOutputFormatCombination {

    	//首先需要创建格式化对象HanyuPinyinOutputFormat
        HanyuPinyinOutputFormat pyFormat = new HanyuPinyinOutputFormat();

        //设置大小写格式
        //outputFormat.setCaseType(HanyuPinyinCaseType);
        //HanyuPinyinCaseType.LOWERCASE 转换后以全小写方式输出
        //HanyuPinyinCaseType.UPPERCASE 转换后以全大写方式输出
        pyFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);

        //方法参数HanyuPinyinToneType有以下常量对象:
        //HanyuPinyinToneType.WITH_TONE_NUMBER 用数字表示声调,例如:zhao4
        //HanyuPinyinToneType.WITHOUT_TONE 无声调表示,例如:zhao
        //HanyuPinyinToneType.WITH_TONE_MARK 用声调符号表示,例如:zhao
        pyFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

        //方法参数HanyuPinyinVCharType有以下常量对象:
        //HanyuPinyinVCharType.WITH_U_AND_COLON 以U和一个冒号表示该拼音,
        //HanyuPinyinVCharType.WITH_V 以V表示该字符,
        //HanyuPinyinVCharType.WITH_U_UNICODE
        pyFormat.setVCharType(HanyuPinyinVCharType.WITH_V);

     return PinyinHelper.toHanyuPinyinString(name, pyFormat,"");

    }

    public static void main(String[] args) {
        try {
			System.out.println(getEname("梅艳芳"));
		} catch (BadHanyuPinyinOutputFormatCombination e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

    }

}

Java 解析汉字拼音,布布扣,bubuko.com

时间: 2024-10-23 13:55:48

Java 解析汉字拼音的相关文章

java获取汉字拼音首字母 --转载

在项目中要更能根据某些查询条件(比如姓名)的首字母作为条件进行查询,比如查一个叫"李晓明"的人,可以输入'lxm'.写了一个工具类如下: import java.io.UnsupportedEncodingException; /** * 取得给定汉字串的首字母串,即声母串 * Title: ChineseCharToEn * @date 2004-02-19 注:只支持GB2312字符集中的汉字 */ public final class ChineseCharToEn { priv

java实现汉字字典

环境:eclipsse, jdk1.6, 没有使用第三方的包,都是JDK有的. 注意,项目源文件我都使用的是UTF-8的编码格式,如果不是,代码里面的汉字注释会显示乱码. 设置UTF-8:windows->Preferences->General->Workspace 页面上Text file encoding,选择Other UTF-8 项目结构: 1.字典文件 dic.txt 下载地址:http://download.csdn.net/detail/wssiqi/5056993 这里

java将汉字转成拼音

package com.jframe.kit; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneTy

[pinyin4j] java版汉字转换拼音(大小写)

pinyin4J 是一个可以将汉字转换成拼音的lib,非常实用,其maven地址为:http://mvnrepository.com/artifact/com.belerweb/pinyin4j/2.5.0 pinyin4J 提供PinyinHelper这个静态类对外提供拼音转换的服务,主要有一下方法: static public String[] toHanyuPinyinStringArray(char ch) 将char(必须为汉字单字)转化为拼音,实用的是通用的格式,如果ch为非汉字,返

java把汉字转换成拼音

汉字转换成拼音工具类: 1 import net.sourceforge.pinyin4j.PinyinHelper; 2 import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; 3 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; 4 import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;

java js 汉字对应拼音码,五笔码转换

最近做项目的时候,要求将汉字名称自动生成拼音码和五笔码,用于搜索,排列分组等 例如: 在记录中生成拼音码和五笔码保存,可由于后续查询搜索 下图中就可根据拼音码或者五笔码输入到名称里查询信息——具体实现就不解释了,这里重点说明码转换问题 还有类似这种既可以进行字母(拼音码)排序,也可以在输入框内查询 好了闲话少说直接给出前端js 和后台工具类——这些都是从网上查的,自己在这汇总记录一下,原谅我当时没有记录是哪几位大神的原创. js代码——创建一个js 具体内容复制即可 // 汉字拼音首字母列表 本

java 中文转拼音之pinyin4j

一.简单介绍 有时候,需要将汉字编程对应的拼音,以方便数据的处理.比如在Android手机应用的开发上,要查询联系人的姓名,通常都是用拼音进行查询的. 比如要查询"曹孟德",就可以输入"cmd",即"曹孟德"三个汉字的拼音"caomengde"各字的首字母.但是怎样才能将"曹孟德"翻译成"caomengde"呢? 很简单的办法就是建立一个大的对照表(比如用关联容器Map),比如<&

Java 解析chm文件实战(原创)

需求:java解析chm文件,并将内容插入数据库和redis. Java解析chm文件,网上除了github上有个家伙只言片语了一下,没有啥资料参考,包括chm4j这东西,没啥介绍,本着服务大众的精神,整理了下流程, 时间仓促,错误之处在所难免,望指正. 第一步:下载chm4j.jar以及依赖 http://sourceforge.net/projects/chm4j/ 第二步:新建java工程,建一个解析ParseChm类,建一个解析测试类,类似: ParseChm类: //下面的包,请导入c

取汉字拼音首字母的方法

近期在做一个按拼音首字母排序的ListView须要取汉字拼音首字母,Deomo下载地址:http://download.csdn.net/detail/u014649598/8494777,做了例如以下的方法: 代码例如以下: package com.android.pinyin; import java.io.UnsupportedEncodingException; import android.app.Activity; import android.os.Bundle; import a