美文网首页
java实现中文汉字转拼音 Pinyin4j的基本用法

java实现中文汉字转拼音 Pinyin4j的基本用法

作者: 神奇Sam | 来源:发表于2017-07-07 17:21 被阅读637次

一、前言

工作中有时候会遇到汉字拼音转换的需求,例如:用户首字母搜索某个内容的时候,wzry 可搜索 王者荣耀相关的。
这里推荐使用Pinyin4j,它是sourceforge.net上的一个开源项目,提供了许多强大的处理汉语拼音相关问题的方法。详情可参考:http://pinyin4j.sourceforge.net/

二、使用Pinyin4j

1、maven项目添加依赖包

<!-- 汉语 拼音 转换的包-->
<dependency>
    <groupId>com.belerweb</groupId>
    <artifactId>pinyin4j</artifactId>
    <version>2.5.0</version>
</dependency>

2、汉字转拼音工具类(具体看注释)

package com.sam.util;

import net.sourceforge.pinyin4j.PinyinHelper;
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;

/**
 * 中文汉字转拼音工具类
 *
 * @author sam
 * @since 2017/5/10
 */
public class PinyinUtil {

    public static void main(String[] args) throws BadHanyuPinyinOutputFormatCombination {

        String str = PinyinUtil.getPinYinHeadChar("小超人");
        System.out.println(str);

//        String[] strs = PinyinUtil.getPinYin('空');
//        for (String str : strs) {
//            System.out.println(str);
//        }

    }

    /**
     * 传入中文获取首字母 (小写)
     * 如:小超人 -> xcr
     *
     * @param str 需要转化的中文字符串
     * @return
     */
    public static String getPinYinHeadChar(String str) {
        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;
            }
        }
        return convert;
    }


    /**
     * 获取中文字的拼音(多音字,拼音后的数字代表第几声)
     * 如:空 -> kong1 kong4
     *
     * @param word
     * @return
     */
    public static String[] getPinYin(char word) {
        return PinyinHelper.toHanyuPinyinStringArray(word);
    }

    /**
     * 获取中文字的拼音(多音字,拼音上的符号代表第几声)
     * 如:空 -> kōng kòng
     *
     * @param word
     * @return
     */
    public static String[] getPinYinWithToneMark(char word) throws BadHanyuPinyinOutputFormatCombination {
        HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
        format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);
        format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
        return PinyinHelper.toHanyuPinyinStringArray(word, format);
    }


}

相关文章

  • java实现中文汉字转拼音 Pinyin4j的基本用法

    一、前言 工作中有时候会遇到汉字拼音转换的需求,例如:用户首字母搜索某个内容的时候,wzry 可搜索 王者荣耀相关...

  • 【开发】中文转拼音库pinyin4j

    【软件名称】 中文转拼音库 pinyin4j 【软件描述】 Pinyin4j是一个流行的Java库,支持中文字...

  • 程序员必备的开源中文处理工具

    1、项目名称: 中文转拼音库 pinyin4j 项目简介:Pinyin4j 是一个流行的 Java 库,支持中文字...

  • Java中文转拼音

    java使用pinyin4j将中文转换成拼音 1、使用pinyin4j来实现,可以在pinyin4j官网[http...

  • Java汉字转拼音pinyin4j用法

    一、工具介绍 pinyin4j 是一个支持将简体和繁体中文转换到成拼音的Java开源类库; 1. 功能 支持同一汉...

  • python汉字转拼音

    场景说明 把中文汉字、转成汉语拼音,包括: 纯汉字转拼音 汉字里面加有字母转拼音 转加声调的拼音 转用数字表示声调...

  • pinyin4j实现汉字转拼音

    说明本文汉字转换汉语拼音工具类 支持多音字、保留其他字符 源代码 https://gith...

  • golang实现中文汉字转拼音

    转载请注明出处: golang实现中文汉字转拼音 介绍 在一些的开发中,可能会遇到一些需要把中文汉字转成拼音的需求...

  • 发布 | 汉字转拼音工具

    通过查找汉字拼音库实现实时汉字转拼音的功能。 实现 加载汉字拼音对照文件pinyin.txt(4万+汉字拼音对照)...

  • 发布 | 汉字转拼音工具

    通过查找汉字拼音库实现实时汉字转拼音的功能。 实现 加载汉字拼音对照文件pinyin.txt(4万+汉字拼音对照)...

网友评论

      本文标题:java实现中文汉字转拼音 Pinyin4j的基本用法

      本文链接:https://www.haomeiwen.com/subject/kakrhxtx.html