zoukankan      html  css  js  c++  java
  • Java将中文姓名转换为拼音

    代码如下:

     1 import net.sourceforge.pinyin4j.PinyinHelper;
     2 import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
     3 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
     4 import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
     5 import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
     6 public class SpellHelper {
     7     //将中文转换为英文
     8     public static String getEname(String name)
     9      {
    10         HanyuPinyinOutputFormat pyFormat = new        HanyuPinyinOutputFormat();
    11          pyFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
    12         pyFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
    13         pyFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
    14 
    15         return PinyinHelper.toHanyuPinyinString(name, pyFormat, "");
    16     }
    17 
    18     //姓、名的第一个字母需要为大写
    19     public static String getUpEname(String name) {
    20         char[] strs = name.toCharArray();
    21         String newname = null;
    22                 
    23         //名字的长度
    24         if (strs.length == 2) {    
    25                 newname = toUpCase(getEname("" + strs[0])) + " "
    26                     + toUpCase(getEname("" + strs[1]));
    27         } else if (strs.length == 3) 
    28          {
    29                newname = toUpCase(getEname("" + strs[0])) + " "
    30                     + toUpCase(getEname("" + strs[1] + strs[2]));
    31         } 
    32        else if (strs.length == 4) 
    33        {
    34             newname = toUpCase(getEname("" + strs[0] + strs[1])) + " "
    35                     + toUpCase(getEname("" + strs[2] + strs[3]));
    36         } else 
    37         {
    38             newname = toUpCase(getEname(name));
    39         }
    40         return newname;
    41     }
    42 
    43     //首字母大写
    44     private static String toUpCase(String str) {
    45         StringBuffer newstr = new StringBuffer();
    46         newstr.append((str.substring(0, 1)).toUpperCase()).append(
    47                 str.substring(1, str.length()));
    48 
    49         return newstr.toString();
    50     }
    51     public static void main(String[] args) {
    52         System.out.println(getUpEname("李宇春"));
    53 
    54     }
    55 
    56 }
  • 相关阅读:
    使用命令安装laravel 项目
    laravel如何输出最后一条执行的SQL
    Laravel5.4 队列简单配置与使用
    PHP使用RabbitMQ实例
    初识RabbitMQ,附RabbitMQ+PHP演示实例
    Laravel 5.3 单用户登录的简单实现
    redis+thinkphp5的注册、登陆、关注基础例子
    Laravel 5.3 单用户登录的简单实现
    php面试题汇总
    (转)php读取文件使用redis的pipeline导入大批量数据
  • 原文地址:https://www.cnblogs.com/ayan/p/2451128.html
Copyright © 2011-2022 走看看