A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

需要jar包
[mw_shl_code=xml,true]        <dependency>
                <groupId>com.belerweb</groupId>
                <artifactId>pinyin4j</artifactId>
                <version>2.5.1</version>
        </dependency>[/mw_shl_code]
第一个 : 汉字转拼音全拼不忽略英文字符
[mw_shl_code=java,true]        /**
         * (全拼)中文转拼音 --->不忽略英文字符
         * @param chinese
         * @return
         */
        public static String getFullSpell(String chinese) {
                StringBuffer pybf = new StringBuffer();
                char[] arr = chinese.toCharArray();
                HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
                defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
                defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
                for (int i = 0; i < arr.length; i++) {
                        if (arr > 128) {
                                try {
                                        pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr, defaultFormat)[0]);
                                } catch (BadHanyuPinyinOutputFormatCombination e) {
                                        e.printStackTrace();
                                }
                        } else {
                                pybf.append(arr);
                        }
                }
                return pybf.toString();
        }[/mw_shl_code]
第二个 : 汉字转拼音首字母不忽略英文字符
[mw_shl_code=java,true]        /**
         * (首字母)汉字转拼音--->不忽略英文字符
         * @param chinese
         * @return
         */
        public static String getFirstSpell(String chinese) {
                StringBuffer pybf = new StringBuffer();
                char[] arr = chinese.toCharArray();
                HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
                defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
                defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
                for (int i = 0; i < arr.length; i++) {
                        if (arr > 128) {
                                try {
                                        String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr, defaultFormat);
                                        if (temp != null) {
                                                pybf.append(temp[0].charAt(0));
                                        }
                                } catch (BadHanyuPinyinOutputFormatCombination e) {
                                        e.printStackTrace();
                                }
                        } else {
                                pybf.append(arr);
                        }
                }
                return pybf.toString().replaceAll("\\W", "").trim();
        }[/mw_shl_code]
第三个 : 汉字转拼音全拼忽略英文字符
[mw_shl_code=java,true]        /**
         * (全拼)中文转拼音自动--->忽略英文字符
         * @param inputString
         * @return
         */
        public static String getFullSpell_WithoutEnglish(String inputString) {
                HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
                format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
                format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
                format.setVCharType(HanyuPinyinVCharType.WITH_V);
                char[] input = inputString.trim().toCharArray();
                String output = "";
                try {
                        for (int i = 0; i < input.length; i++) {
                                System.err.println(input);
                                if (java.lang.Character.toString(input).matches("[\\u4E00-\\u9FA5]+")) {
                                        String[] temp = PinyinHelper.toHanyuPinyinStringArray(input, format);
                                        output += temp[0];
                                }
                        }
                } catch (BadHanyuPinyinOutputFormatCombination e) {
                        e.printStackTrace();
                }
                return output;
        }[/mw_shl_code]
第四个 : 汉字转拼音首字母忽略英文字符
[mw_shl_code=java,true]        /**
         * (首字母)汉字转拼音--->忽略英文字符
         * @param chinese
         * @return
         */
        public static String getFirstSpell_WithoutEnglish(String chinese) {
                StringBuffer pybf = new StringBuffer();
                char[] arr = chinese.toCharArray();
                HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
                defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
                defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
                for (int i = 0; i < arr.length; i++) {
                        if (arr > 128) {
                                try {
                                        String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr, defaultFormat);
                                        if (temp != null) {
                                                pybf.append(temp[0].charAt(0));
                                        }
                                } catch (BadHanyuPinyinOutputFormatCombination e) {
                                        e.printStackTrace();
                                }
                        }
                }
                return pybf.toString().replaceAll("\\W", "").trim();
        }[/mw_shl_code]

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马