您的位置:首页 > 编程语言 > Java开发

JAVA工具类(2) -- 汉语拼音工具类

2017-09-07 21:36 204 查看
package com.gcloud.common;

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;

/**
* 汉语拼音工具类
* Created by charlin on 2017/9/3.
*/
public class PingYinUtil {

/**
* 获得所有拼音字母
* @param args
* @return
*/
public static String getAllLeter(String args) {
String result = "";
char[] charArray = args.toCharArray();
String[] strArr = new String[charArray.length];
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
int len = charArray.length;
for (int i = 0; i <len ; i++) {
try {
strArr = PinyinHelper.toHanyuPinyinStringArray(charArray[i], format);
if (strArr == null){
result += charArray[i];
}else {
result += strArr[0];
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
return  result;
}

/**
* 获得每个汉字的首字母
* @param args
* @return
*/
public static String getFirstLeter(String args) {
String result = "";
char[] charArray = args.toCharArray();
String[] strArr = new String[charArray.length];
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
int len = charArray.length;
for (int i = 0; i <len ; i++) {
try {
strArr = PinyinHelper.toHanyuPinyinStringArray(charArray[i], format);
if (strArr == null){
result += charArray[i];
}else {
result += strArr[0].substring(0,1);
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
return  result;
}

public static void main(String[] args) {
System.out.println("getAllLeter==" + getAllLeter("你好啊"));
System.out.println("getFirstLeter==" + getFirstLeter("你好啊"));
}
}


———————————————————————

(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)

有需求者请进站查看,非诚勿扰

https://item.taobao.com/item.htm?spm=686.1000925.0.0.4a155084hc8wek&id=555888526201


01.高级架构师四十二个阶段高

02.Java高级系统培训架构课程148课时

03.Java高级互联网架构师课程

04.Java互联网架构Netty、Nio、Mina等-视频教程

05.Java高级架构设计2016整理-视频教程

06.架构师基础、高级片

07.Java架构师必修linux运维系列课程

08.Java高级系统培训架构课程116课时

(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)

——————————————————————–
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息