zoukankan      html  css  js  c++  java
  • pingyin4j 实现汉子转换为拼音

    pingyin4j的jar 包下载地址

    http://sourceforge.net/projects/pinyin4j/files/

    该jar包的功能是将一个汉字转换为对应的拼音,

    在搜索的时候如果根据汉子得到拼音的时候,

    这个工具就是个不错的选择

    先给个测试代码:

    package com.pinyin;
    
    import net.sourceforge.pinyin4j.PinyinHelper;
    import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
    import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
    import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
    
    public class TestPinyin {
    
        public static void main(String[] args) {
            System.out.println(new TestPinyin().Console('你'));
        }
    
        public String Console(char order) {
            HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
            format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
            String[] pinyinArray = null;
            try {
                pinyinArray = PinyinHelper.toHanyuPinyinStringArray(order, format);
            } catch (BadHanyuPinyinOutputFormatCombination e) {
                e.printStackTrace();
            }
            
            if (pinyinArray!=null) {
                return pinyinArray[0];
            } else {
                return order + "";
            }
        }
    
    }

    结果: ni

    可能需要的格式:

    (1).HanyuPinyinOutputFormat,定义汉语拼音的输出形式.

    (2).HanyuPinyinCaseType,定义汉语拼音的大小写,如: LOWERCASE min2 UPPERCASE MIN2

    (3).HanyuPinyinToneType,定义音调的显示方式.如: WITH_TONE_MARK dǎ ,带音调 WITH_TONE_NUMBER da3 ,带音调,用12345表示平上去入和轻声 WITHOUT_TONE da ,不带音调

    (4).HanyuPinyinVCharType,定义'ü' 的显示方式.如: WITH_U_AND_COLON u: ,u加两点表示,如律师表示为lu:shi WITH_V v ,用字母v表示,这个用搜狗输入法的人想必有些印象. WITH_U_UNICODE ü

    (5).input[i]).matches("[\\u4E00-\\u9FA5]+"),这个用来判断是否为中文的.

    (6).PinyinHelper.toHanyuPinyinStringArray(input[i], format),这个返回单字的拼音字符串数组. 如果音调类型为WITH_TONE_NUMBER的话,"张",将返回"zhang1","李",会返回"li4".

  • 相关阅读:
    第四次作业——个人作业——软件案例分析
    作业五——团队项目——需求规格说明书
    团队项目——团队展示
    作业三——结对编程
    作业二——结对项目之需求分析与原型模型设计
    leetcode 212 单词搜索II
    leetcode 130. 被围绕的区域
    leetcode 695 Max Area of Island 岛的最大面积
    【《算法》学习笔记】一:
    leetcode 191 位1的个数
  • 原文地址:https://www.cnblogs.com/tomcattd/p/2871115.html
Copyright © 2011-2022 走看看