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

 
 String[] pinyin = PinyinHelper.toHanyuPinyinStringArray(‘赵’);
 //该类还有其他的拼音转换形式,但是基本上用不到,就不介绍了
 返回的数组即是该字符的拼音,如上例就是pinyin[0]=zhao,后面的数字代表声调,声调为5表示轻读,无声调。之所谓返回数组,是因为被判定的汉字有可能有多个读音。如果输入的参数不是汉字,则返回null。
 
 拼音格式化
 如果对于拼音转换后的结果有一些特定的格式要求目前pinyin4j支持:
 声调格式化。例如:“刘”字的格式化后为“liu2”或“liu”或“liú”
 对特殊拼音ü的的显示格式。例如“u:”或“v”或“ü”
 大小写的转换。例如:“liu2”或“LIU2”
 以上这些格式可以混合使用,下面就来介绍具体的使用方法,首先需要创建格式化对象HanyuPinyinOutputFormat,例如:
 HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();
 然后分别调用outputFormat的set方法设置上述一些格式要求:
 设置声调格式:
 outputFormat.setToneType(HanyuPinyinToneType);
 
 方法参数HanyuPinyinToneType有以下常量对象:
 HanyuPinyinToneType.WITH_TONE_NUMBER 用数字表示声调,例如:zhao4
 HanyuPinyinToneType.WITHOUT_TONE 无声调表示,例如:zhao
 HanyuPinyinToneType.WITH_TONE_MARK 用声调符号表示,例如:zhao
 设置特殊拼音ü的显示格式:
 
 outputFormat.setVCharType(HanyuPinyinVCharType);
 
 方法参数HanyuPinyinVCharType有以下常量对象:
 HanyuPinyinVCharType.WITH_U_AND_COLON 以U和一个冒号表示该拼音, 
 HanyuPinyinVCharType.WITH_V 以V表示该字符, 
 HanyuPinyinVCharType.WITH_U_UNICODE  
 
 设置大小写格式
 outputFormat.setCaseType(HanyuPinyinCaseType);
 HanyuPinyinCaseType.LOWERCASE 转换后以全小写方式输出
 HanyuPinyinCaseType.UPPERCASE 转换后以全大写方式输出
 
 设置好格式对象后还是利用上述的工具类方法进行拼音转换,只不过需要将格式化对象当成方法参数传入转换方法,告知要转换的格式要求:
 String[] pinyin = PinyinHelper.toHanyuPinyinStringArray(‘刘’, outputFormat);
 但该方法会有异常抛出,注意处理。
 
public class Text {
public static String[] Convert( char hz) {
HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();
outputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
outputFormat.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
outputFormat.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);
String[] Pinyin = null; try {
Pinyin = PinyinHelper.toHanyuPinyinStringArray(hz,outputFormat);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
return Pinyin;
}
public static void main(String[] args) {
String string = "我是中国人";
char str[] = string.toCharArray();
for(char s : str)
{
String[] string1 = Convert(s);
System.out.print(string1[0]+" ");
}
}
}

  

java 解析汉字拼音的更多相关文章

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

    在项目中要更能根据某些查询条件(比如姓名)的首字母作为条件进行查询,比如查一个叫"李晓明"的人,可以输入'lxm'.写了一个工具类如下: import java.io.Unsupp ...

  2. JAVA获取汉字拼音首字母

    package com.common.util; import java.io.UnsupportedEncodingException; /** * 取得给定汉字串的首字母串,即声母串 * Titl ...

  3. Java 获取汉字拼音的方法

    package lius.util;   import java.io.Serializable; import java.util.ArrayList;   public class JString ...

  4. java取得汉字拼音(pinyin4j)

    jar包:pinyin4j.jar 基本用法: String[] pinyin = PinyinHelper.toHanyuPinyinStringArray('重'); 例如“重”字,该方法返回一个 ...

  5. java中汉字自动转换成拼音

    java中汉字自动转换成拼音 1.需要下载jar包 pinyin4j.2.5.0.jar ,加入到WEB-INF下的lib里边,右键add to bulid path. 2.[代码]PinYinUti ...

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

    pinyin4J 是一个可以将汉字转换成拼音的lib,非常实用,其maven地址为:http://mvnrepository.com/artifact/com.belerweb/pinyin4j/2. ...

  7. java实现汉字转为拼音

    java实现汉字转为拼音: 1.需要导入pinyin4j.jar package com.loo.pinyin; import net.sourceforge.pinyin4j.PinyinHelpe ...

  8. AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字,Filterable的使用)

    AutoCompleteTextView具有输入提示的功能,但是它的这种提示不适合对股票列表的过滤,如果你玩过股票软件,就会知道只要输入股票名称的首字母或股票代码就会出现符合匹配的股票,这种过滤怎么实 ...

  9. C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母

    首先下载Visual Studio International Pack 1.0,官方下载地址:http://www.microsoft.com/downloads/zh-cn/details.asp ...

随机推荐

  1. ubuntu下配置java环境【转】

    转自:http://www.cnblogs.com/fnng/archive/2013/01/30/2883815.html 配置JDK环境 下载 登录oracle的网站去下载JDK7 http:// ...

  2. linux配置java环境变量(详细)【转】

    转自:http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux ...

  3. 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.1.CSS框架和其他功能

    jquery.ui.all.css 1.所有主题必须的文件都包含在这个文件中.它由ui.base.css和ui.them.css两个文件中拉入的@import执行构成. jquery.ui.base. ...

  4. bash正则表达式

    星号*: 匹配它前面的字符串或正则表达式任意次(包括0次). 比如:* 可能匹配的字符串有:... ...... 句号.: 匹配除换行符之外的任意一个字符. 比如:"112.",将 ...

  5. restful 注解

    @Path @Path 注释被用来描述根资源.子资源方法或子资源的位置.value 值可以包含文本字符.变量或具有定制正则表达式的变量. @GET.@POST.@PUT.@DELETE.@HEAD @ ...

  6. 20145227 《Java程序设计》第4周学习总结

    20145227 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 6.1 何谓继承 1.继承共同行为 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中, ...

  7. YTU 2973: C语言习题5.25--文件操作2

    2973: C语言习题5.25--文件操作2 时间限制: 1 Sec  内存限制: 128 MB 提交: 242  解决: 105 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编 ...

  8. Python学习笔记-Day3-文件操作

    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) 打开文件并返回一个 ...

  9. Poj(1220),hash

    题目链接:http://poj.org/problem?id=1200 这个题,我真是无限MLE,RE,WA,太伤心了,还是写一下吧.题意很简单(英语很好读),最后看了一下金海峰的思路.果然,应该是我 ...

  10. 用python requests库写一个人人网相册爬虫

    担心人人网会黄掉,写个爬虫,把我的相册照片都下载下来.代码如下: # -*- coding: utf-8 -*- import requests import json import os def m ...