`
taody
  • 浏览: 100071 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Java中将中文姓名转换为拼音的简单实现

 
阅读更多

以下是源代码:


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.HanyuPinyinVCharType;

public class SpellHelper {
    //将中文转换为英文
    public static String getEname(String name) {
        HanyuPinyinOutputFormat pyFormat = new HanyuPinyinOutputFormat();
        pyFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
        pyFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        pyFormat.setVCharType(HanyuPinyinVCharType.WITH_V);

        return PinyinHelper.toHanyuPinyinString(name, pyFormat, "");
    }

    //姓、名的第一个字母需要为大写
    public static String getUpEname(String name) {
        char[] strs = name.toCharArray();
        String newname = null;
                
        //名字的长度
        if (strs.length == 2) {    
                newname = toUpCase(getEname("" + strs[0])) + " "
                    + toUpCase(getEname("" + strs[1]));
        } else if (strs.length == 3) {
               newname = toUpCase(getEname("" + strs[0])) + " "
                    + toUpCase(getEname("" + strs[1] + strs[2]));
        } else if (strs.length == 4) {
            newname = toUpCase(getEname("" + strs[0] + strs[1])) + " "
                    + toUpCase(getEname("" + strs[2] + strs[3]));
        } else {
            newname = toUpCase(getEname(name));
        }

        return newname;
    }

    //首字母大写
    private static String toUpCase(String str) {
        StringBuffer newstr = new StringBuffer();
        newstr.append((str.substring(0, 1)).toUpperCase()).append(
                str.substring(1, str.length()));

        return newstr.toString();
    }

    public static void main(String[] args) {
        System.out.println(getUpEname("李宇春"));

    }

}

 

大家如果觉得有用可以关注社区地址http://www.javadt.com

8
11
分享到:
评论
1 楼 maccter 2012-04-25  
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;

这些对应的类 没发啊

相关推荐

    Java利用ascii码表把汉字转换成拼音

    在Java编程语言中,将汉字转换...总之,Java中将汉字转换为拼音涉及到对Unicode编码的理解、汉字拼音映射表的构建或利用第三方库。通过掌握这些知识点,我们可以编写出高效且准确的转换程序,满足各种应用场景的需求。

    Java中将汉字转为拼音的Demo

    这个"Java中将汉字转为拼音的Demo"提供了一个实用的工具类,使得开发者能够轻松地实现这一功能,而无需深入了解底层的拼音转换算法。 首先,我们要了解汉字转拼音的基本原理。在Java中,这通常涉及到Unicode编码和...

    java中将汉字转换成拼音的实现代码

    在Java编程语言中,将汉字转换为拼音是一项常见的需求,特别是在文本处理、语音合成或搜索引擎优化等场景。这里我们将详细探讨如何实现这个功能,并提供一个简单的示例代码。 首先,要实现汉字转拼音,我们需要引入...

    java中汉字得到首字母大写

    本文介绍了一种在Java中将汉字转换为其拼音首字母大写的方法。这种方法主要依赖于预定义的拼音首字母映射表以及对每个汉字GB2312编码的处理。该技术不仅适用于中文姓名的处理,还可以扩展到其他需要将中文转换为拼音...

    汉字转换成拼音

    标题中的“汉字转换成拼音”指的是在计算机编程中将汉字转化为其对应的汉语拼音的过程。这一技术在许多领域都有应用,比如自然语言处理、搜索引擎优化、语音识别等。它涉及到中文字符编码、Unicode以及汉字与拼音...

    pinyin4j文字转拼音+简单工具类.rar

    在信息技术领域,尤其是在中文处理中,将汉字转换为拼音是一项常见的任务。这在搜索引擎优化、数据录入、文本分析等场景下尤为关键。pinyin4j是一个开源Java库,专为解决此问题而设计,它能够高效地将汉字转换为拼音...

    中文名称转英文拼音

    本篇文章将详细探讨如何在Java中将中文名称转换为英文拼音,并讨论相关的技术点。 首先,Java中的中文转拼音主要依赖于第三方库,因为Java标准库并没有内置这样的功能。一些常用的库包括: 1. **Pinyin4j**: 这是...

    汉字转拼音(Demo)

    本项目"汉字转拼音(Demo)"就是一个关于如何在Java环境中将汉字转换为拼音或拼音缩写的示例。 首先,我们需要理解汉字转拼音的基本概念。汉字转拼音是将汉字转化为其对应的汉语拼音,例如“张三”转换为“zhangsan...

    中文转英文

    * @author zsw 中文转为拼音 * */ public class Spell { static final int GB_SP_DIFF = 160; static final int[] secPosValueList = { 1601, 1637, 1833, 2078, 2274, 2302, 2433, 2594, 2787, 3106, ...

    Java汉字转拼音工具类完整代码实例

    本文将详细介绍如何在Java中将汉字转换为拼音,并提供一个完整的工具类代码实例。 首先,为了实现汉字转拼音的功能,我们通常会依赖第三方库,这里用到的是`pinyin4j`。这是一个开源的Java库,专门用于将汉字转换成...

    汉字转拼音

    汉字转拼音技术是一种在计算机程序中将汉字转化为其对应的汉语拼音表示的方法,广泛应用于文本处理、语音合成、搜索引擎优化等领域。在Delphi编程环境中,我们可以利用特定的库或组件来实现这一功能。本文将深入探讨...

    JAVA上百实例源码以及开源项目源代码

    消息驱动Bean必须实现两个接口MessageDrivenBean和MessageListener 在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被...

    2021-2022计算机二级等级考试试题及答案No.1800.docx

    16. 计算机中汉字的排序不是按拼音,而是按照汉字的区位码或国标码进行的。 17. Word中使用“窗口”菜单可以实现多文档窗口之间的切换。 18. 选择运算是从基本表中选择满足特定条件的记录,形成新的关系。 19. ...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    数据库开发基础、Microsoft SQLServer基础、SQL语言基础、索引、事务、SQL语言高级技术(空值处理、聚合与分组、数据分页、Union、日期函数、类型转换函数、流控函数、表连接、子查询、存储过程、触发器)、数据库...

Global site tag (gtag.js) - Google Analytics