使用Pinyin4j进行拼音分词的方法
使用maven引入相关的jar
com.belerweb pinyin4j 2.5.1
创建Pinyin4jUtil
packagecom.os.core.util.solr;
importnet.sourceforge.pinyin4j.PinyinHelper;
importnet.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
importnet.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
importnet.sourceforge.pinyin4j.format.HanyuPinyinToneType;
importnet.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
importjava.util.ArrayList;
importjava.util.Hashtable;
importjava.util.List;
importjava.util.Map;
/**
*汉语拼音工具类
*CreatedbyPengSongHeon2017/2/90009.
*/
publicclassPinyin4jUtil{
publicstaticvoidmain(String[]args){
Stringstr="测试";
Stringpinyin=Pinyin4jUtil.converterToSpell(str);
System.out.println(str+"pinyin:"+pinyin);
pinyin=Pinyin4jUtil.converterToFirstSpell(str);
System.out.println(str+"shortpinyin:"+pinyin);
}
/**
*汉字转换位汉语拼音首字母,英文字符不变,特殊字符丢失支持多音字,生成方式如(长沙市长:cssc,zssz,zssc,cssz)
*
*@paramchines汉字
*@return拼音
*/
publicstaticStringconverterToFirstSpell(Stringchines){
StringBufferpinyinName=newStringBuffer();
char[]nameChar=chines.toCharArray();
HanyuPinyinOutputFormatdefaultFormat=newHanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for(inti=0;i128){
try{
//取得当前汉字的所有全拼
String[]strs=PinyinHelper.toHanyuPinyinStringArray(
nameChar[i],defaultFormat);
if(strs!=null){
for(intj=0;j128){
try{
//取得当前汉字的所有全拼
String[]strs=PinyinHelper.toHanyuPinyinStringArray(
nameChar[i],defaultFormat);
if(strs!=null){
for(intj=0;j>discountTheChinese(StringtheStr){
//去除重复拼音后的拼音列表
List
以上这篇使用Pinyin4j进行拼音分词的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。