转载请表明出处:http://blog.csdn.net/lmj623565791/article/details/23187701 开发过程中有时候会遇到使用拼音模糊搜索等功能(典型的就是Android通讯录了),这时就需要汉字能够转化为拼音。
1、Android系统的通讯录也实现了拼音搜索,所以我们可以偷个懒,直接拿Android系统中的实现类来实现这个功能。 sdksourcesandroid-2.3.3-gingerbread-srccomandroidinternalutilHanziToPinyin.java 该类我们无法直接获取实例或者反射访问,不过我们可以直接把源码拷入自己的项目中,然后使用。 概览:
使用方式:
简单解释一下:HanziToPinyin是一个单例,获得该类实例后,get方法传入一个字符串,然后会对每个字符串的每个字符进行解析,解析结果存入Token中, token.source=源 ;token.target=结果,token.type=2(也就是 public static final int PINYIN = 2; 封装的常量)
2、使用Pinyin4j 首先去http://pinyin4j.sourceforge.net/ 下载一个jar包。 主要的几个类: PinyinHelper 调用方法的核心类 HanyuPinyinOutputFormat 输出格式,设置HanyuPinyinCaseType(大小写),HanyuPinyinToneType(声调的方式),HanyuPinyinVCharType(V的输出方式) 使用方式:
输出结果:对于非汉字输出的是返回null
附上一张官网的图,关于各种格式组合的结果: Some combinations of these three output formats are forbidden. For example, '吕'
我附上:HanziToPinyin.java以及Pinyin4J.jar供找不到源码或者无法正常下载的亲们下载,下载地址:http://download.csdn.net/detail/lmj623565791/7161713。
来自: http://blog.csdn.net//lmj623565791/article/details/23187701 |
小黑屋|在路上
( 蜀ICP备15035742号-1 )
GMT+8, 2025-7-9 01:31
Copyright 2015-2025 djqfx