文档章节

将汉字字符串转化为拼音

tawnie
 tawnie
发布于 2013/12/30 13:44
字数 131
阅读 32
收藏 0
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 PinyinUtil {

	public static String getPinYin(String inputString) {
		HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
		format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
		format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);

		char[] input = inputString.trim().toCharArray();
		StringBuffer output = new StringBuffer("");

		try {
			for (int i = 0; i < input.length; i++) {
				if (Character.toString(input[i]).matches("[\u4E00-\u9FA5]+")) {
					String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);
					output.append(temp[0]);
				} else
					output.append(Character.toString(input[i]));
			}
		} catch (BadHanyuPinyinOutputFormatCombination e) {
			e.printStackTrace();
		}
		return output.toString();
	}

	public static void main(String[] args) {
		String str = "TawnieChen将汉字转化为拼音测试";
		String piny = getPinYin(str);
		System.out.println(piny);
	}
}



© 著作权归作者所有

共有 人打赏支持
tawnie
粉丝 0
博文 5
码字总数 1373
作品 0
苏州
程序员
私信 提问
iOS-汉字排序

在IOS开发过程中,排序是我们经常遇到的问题,那么如何进行排序呢? * 在英文状态下,系统中有直接可以调用的方法。 例如:对数组[sss, aaa, bbb, ppp]进行排序,我们可以直接使用系统方法。...

杭城小刘
2016/08/30
9
0
引用 使用Java获得汉字的拼音首字母

引用 恐龙007 的 使用Java获得汉字的拼音首字母 由于工作中需要从汉字中提取其拼音首字母,为了偷懒^_^....本人写了以下类实现了自动将汉字转化为其拼音首字母. 可以直接提取以下类中的方法,...

junsun
2010/10/16
0
0
汉字转拼音工具JPinyin的介绍和使用示例

汉字转拼音的开源工具类包,已经出现过好几个,比如:Pinyin4J、Jpinyin等。本文主要结合JPinyin汉字转拼音的Java开源类库,给出相关的介绍和使用示例。 Jpinyin介绍 JPinyin是一个汉字转拼音...

王孟君
2016/11/13
1K
5
搜索关键字高亮显示,就比微信多个多音字搜索

首先看下demo效果,下载地址 一. 需求要求实现的效果 汉字支持汉字直接搜索、拼音全拼搜索、拼音简拼搜索 搜索匹配到的关键字高亮显示 搜索结果优先显示全部匹配、其次是拼音全拼匹配、拼音简...

si1ence
2017/12/14
0
0
利用Visual Studio International Pack 实现对汉字的简单操作

Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持。使用该类库可以更方便的创建支持多文化多语言的软件应用。 该软件包1.0版提供以下七个组...

长平狐
2013/04/25
895
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsearch

随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构的兴起,看似一个简单的应用,后台可能很多服务在支撑;一个请求可能需要多个服务的调用;当请求迟缓或不可用时,无法得知...

编程SHA
3分钟前
0
0
Swift-清除缓存

func removeCache (){ // 取出cache文件夹路径.如果清除其他位子的可以将cachesDirectory换成对应的文件夹 let cachePath = NSSearchPathForDirectoriesInDomains(FileMan...

west_zll
3分钟前
0
0
kl键盘事件

frameworks/base/data/keyboards路径下定义了很对kl文件。如Vendor_0416_Product_0300.kl,定义了某某遥控器的按键事件 # TVkey 103 DPAD_UPkey 108 DPAD_DOWNkey 105 DPAD_LEFTk...

安卓工程师王恒
7分钟前
0
0
CentOS 7 安装 Docker

工具: Oracle VM VirtualBox 虚拟机 ,本地电脑win10 系统: 虚拟机装 centos 7 前置条件: Docker 要求 CentOS 系统的内核版本高于 3.10 1. 通过 uname -r 命令查看当前的内核版本 2. 如果不够...

_大侠__
17分钟前
0
0
webrtc onAddStream回调流程

背景 webrtc代码基于M59 正文 1. 回调设置和处理 (1)java层先在监听器中实现回调处理函数,如下所示: private class PCObserver implements PeerConnection.Observer { @Override...

bill_shen
19分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部