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. 将edit ctrL弄的像个dos

    case WM_CTLCOLOREDIT: { HWND hShellText = GetDlgItem(hDlg,IDC_TXT_SHELL); if (hShellText == (HWND)lP ...

  2. Perl 和 Python 的比较 【转】

    转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4662991&uid=608135 作为万年Perl 党表示最近开 ...

  3. 图解 交集(join)和 合并(union)

    假设我们有两张表. Table A 是左边的表. Table B 是右边的表. 其各有四条记录,其中有两条记录是相同的,如下所示: id name       id  name 1  Pirate   ...

  4. oracle 自定义 聚合函数

    Oracle自定义聚合函数实现字符串连接的聚合   create or replace type string_sum_obj as object ( --聚合函数的实质就是一个对象      sum ...

  5. C# winform 中MessageBox用法大全(附效果图) (转载+说明)

    声明:这篇文章是转载的转载的,由于原作者的博客被关闭 我就不再列出了,提前先说明下,if语句中的判断有些太长,建议提前声明一个变量, DialogResult MsgBoxResult;        ...

  6. postgresql压力测试工具用法以及参数解读

    pgbench是PostgreSQL自带的一个数据库压力测试工具, 支持TPC-B测试模型, 或自定义测试模型. 自定义测试模型支持元命令, 调用shell脚本, 设置随机数, 变量等等. 支持3种异 ...

  7. hdwiki 编码规范

    编码规范         命名规范 1.1.主要的目录 control 里面是控制类 ,前台命名为something.php,则后台对应的是admin_+前台名称,名称应选有意义的英文单词,例如 前台 ...

  8. 迷之节约 分类: sdutOJ 最小生成树 2015-06-24 19:10 10人阅读 评论(0) 收藏

    迷之节约 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 FF超级有钱,最近又买了n个(1 <= n <= 300)小岛,为 ...

  9. MySql5.7-多源复制(多主单从)

    1.1.主库配置 my.cnf   #确保唯一 server-id=1 #作为Master要开启binlog log-bin=mysql-bin #binlog format有三种形式:Stateme ...

  10. Java Cryptography Extension (JCE): 放开Java加密算法密钥最大长度16的限制

    1. 在官网下载JCE: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads- ...