【布谷一源码】【源码电商】【multipath源码分析】pinyin4j源码

时间:2024-11-17 12:29:11 编辑:算命商业源码 来源:invoke源码

1.JAVA 汉字首字母排序
2.java中进行拼音排序的时候,如何进行多音字处理!最好能举个例子!
3.谁做过java 同音字查询,请赐教一下,布谷一源码有源码更好。源码电商

pinyin4j源码

JAVA 汉字首字母排序

       我知道用java可以通过汉字的获得到首字母。下面是源码:

       import net.sourceforge.pinyin4j.PinyinHelper;

       public class PinyinAPI {

        /

**

        * 提取每个汉字的首字母(大写)

        *

        * @param str

        * @return

        */

        public static String getPinYinHeadChar(String str) {

        if (isNull(str)) {

        return "";

        }

        String convert = "";

        for (int j = 0; j < str.length(); j++) {

        char word = str.charAt(j);

        // 提取汉字的首字母

        String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);

        if (pinyinArray != null) {

        convert += pinyinArray[0].charAt(0);

        }

        else {

        convert += word;

        }

        }

        convert = string2AllTrim(convert);

        return convert.toUpperCase();

        }

        /

*

        * 判断字符串是否为空

        */

        public static boolean isNull(Object strData) {

        if (strData == null || String.valueOf(strData).trim().equals("")) {

        return true;

        }

        return false;

        }

        /

**

        * 去掉字符串包含的所有空格

        *

        * @param value

        * @return

        */

        public static String string2AllTrim(String value) {

        if (isNull(value)) {

        return "";

        }

        return value.trim().replace(" ", "");

        }

        public static void main(String[] args) {

        String ss = PinyinAPI.getPinYinHeadChar("中国");

        System.out.print(ss);//ZG

        }

       }

java中进行拼音排序的时候,如何进行多音字处理!最好能举个例子!

       如果这种情况不和很多的话,可以使用replaceall("重庆","cq")进行替换。如果太多了话就。multipath源码分析能想到的办法就是做一个词组表,用来进行替换。如果有好的建议,欢迎讨论。spring runwith源码

       获取汉字拼音的常规办法就是pinyin4j。这个百度下,没什么问题。

       使用pinyin4j的出售外卖源码思路,做出一张多音字词组表。根据词组表替换成正确的字母首拼,之后再进行pinyin4j进行转换

谁做过java 同音字查询,请赐教一下,有源码更好。

       下面是中文转换成拼音的一个程序。需要下载jar包!下载不到的可以来找我!

       可以生成 中国 zhongguo 或zg

       package cn;

       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.exception.BadHanyuPinyinOutputFormatCombination;

       /**

        * 汉字转换位汉语拼音,英文字符不变

        *

        * @author xuke

        *

        */

       public class Pinyin4J {

        /**

        * 汉字转换位汉语拼音首字母,英文字符不变

        *

        * @param chines

        * 汉字

        * @return 拼音

        */

        public static String converterToFirstSpell(String chines) {

        String pinyinName = "";

        char[] nameChar = chines.toCharArray();

        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();

        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);

        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

        for (int i = 0; i < nameChar.length; i++) {

        if (nameChar[i] > ) {

        try {

        pinyinName += PinyinHelper.toHanyuPinyinStringArray(

        nameChar[i], defaultFormat)[0].charAt(0);

        } catch (BadHanyuPinyinOutputFormatCombination e) {

        e.printStackTrace();

        }

        } else {

        pinyinName += nameChar[i];

        }

        }

        return pinyinName;

        }

        /**

        * 汉字转换位汉语拼音,英文字符不变

        *

        * @param chines

        * 汉字

        * @return 拼音

        */

        public static String converterToSpell(String chines) {

        String pinyinName = "";

        char[] nameChar = chines.toCharArray();

        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();

        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);

        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

        for (int i = 0; i < nameChar.length; i++) {

        if (nameChar[i] > ) {

        try {

        pinyinName += PinyinHelper.toHanyuPinyinStringArray(

        nameChar[i], defaultFormat)[0];

        } catch (BadHanyuPinyinOutputFormatCombination e) {

        e.printStackTrace();

        }

        } else {

        pinyinName += nameChar[i];

        }

        }

        return pinyinName;

        }

        public static void main(String[] args) {

        System.out.println(converterToSpell("百度"));

        }

       }