精华内容
下载资源
问答
  • 可以将oracle数据库中保存的中文转换成拼音拼音首字母等
  • 用户为新建产品命名时通常使用中文,而假如后台需要根据用户输入的中文名称进行字段拼接时,就需要将中文汉字转化为中文。所以就用到了pinyin4j这个java工具包(官方网站:http://pinyin4j.sourceforge.net/)。这个...

    用户为新建产品命名时通常使用中文,而假如后台需要根据用户输入的中文名称进行字段拼接时,就需要将中文汉字转化为中文。所以就用到了pinyin4j这个java工具包(官方网站:http://pinyin4j.sourceforge.net/)。这个工具包是开源的,对于一般常用汉字,转化正确率还是不错的。
    对于使用maven的项目,直接添加依赖

    <dependency>
    <groupId>com.belerweb</groupId>
    <artifactId>pinyin4j</artifactId>
    <version>2.5.0</version>
    </dependency>
    
    package oa.common.utils;
     
    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;
    import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
     
    /**
     * 拼音工具类
     * 
     * @author lsf
     */
    public class PingYinUtil {
        /**
         * 将字符串中的中文转化为拼音,其他字符不变
         * 
         * @param inputString
         * @return
         */
        public static String getPingYin(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++) {
                    if (java.lang.Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {
                        String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);
                        output += temp[0];
                    } else
                        output += java.lang.Character.toString(input[i]);
                }
            } catch (BadHanyuPinyinOutputFormatCombination e) {
                e.printStackTrace();
            }
            return output;
        }
        /**  
         * 获取汉字串拼音首字母,英文字符不变  
         * @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[i] > 128) {   
                                try {   
                                        String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);   
                                        if (temp != null) {   
                                                pybf.append(temp[0].charAt(0));   
                                        }   
                                } catch (BadHanyuPinyinOutputFormatCombination e) {   
                                        e.printStackTrace();   
                                }   
                        } else {   
                                pybf.append(arr[i]);   
                        }   
                }   
                return pybf.toString().replaceAll("\\W", "").trim();   
        }   
        /**  
         * 获取汉字串拼音,英文字符不变  
         * @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[i] > 128) {   
                                try {   
                                        pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]);   
                                } catch (BadHanyuPinyinOutputFormatCombination e) {   
                                        e.printStackTrace();   
                                }   
                        } else {   
                                pybf.append(arr[i]);   
                        }   
                }   
                return pybf.toString();   
        }  
    }  
    
    展开全文
  • 前端开发中,有时候会遇到将用户的姓名转拼音的功能,如果请求后端,将汉子转拼音,效率低,用户体验不好,如果能JS转换,那就太好了。下面就是js将姓名转拼音的一个公共类库,能够将绝大数的姓名转成拼音。使用也很...
  • 1. js 中文拼音缩写大小写(需要引用文件 js 链接如下:) 链接:https://pan.baidu.com/s/1V6vRyS9UEw6lWp7GvIkI3A 密码:8n0j var value=makePy(“皮皮冰要做大神”).toLocaleLowerCase() ;//获取拼音转小写...

    1. js 中文转拼音缩写大小写(需要引用文件 js  链接如下:)

    链接:https://pan.baidu.com/s/1V6vRyS9UEw6lWp7GvIkI3A 密码:8n0j

    var value=makePy(“皮皮冰要做大神”).toLocaleLowerCase() ;//获取拼音转小写;toLocaleLowerCase() 小写函数
    
    结果:ppbyzds
    var value=makePy(“皮皮冰ADadb”).toLocaleLowerCase() ;//获取拼音转小写;toLocaleLowerCase() 小写函数
    
    结果:ppbadadb
    
    
    var value=makePy(“皮皮冰ADadb”).toUpperCase() ;//获取拼音转大写;toUpperCase()() 大写函数
    
    结果:PPBADADB
    

     

    展开全文
  • Java名字获取拼音

    2015-01-20 19:34:05
    java姓名获取拼音,里面有完整的使用例子。
  • import java.util.Scanner;public class ChineseToPinYin {/*** 汉字拼音缩写** @param str* 要转换的汉字字符串* @return String 拼音缩写*/public String getPYString(String str) {String ...

    package cn.tonvc.demo.string;

    import java.util.Scanner;

    public class ChineseToPinYin {

    /**

    * 汉字转拼音缩写

    *

    * @param str

    * 要转换的汉字字符串

    * @return String 拼音缩写

    */

    public String getPYString(String str) {

    String tempStr = "";

    for (int i = 0; i < str.length(); i++) {

    char c = str.charAt(i);

    if (c >= 33 && c <= 126) {// 字母和符号原样保留

    tempStr += String.valueOf(c);

    } else {// 累加拼音声母

    tempStr += getPYChar(String.valueOf(c));

    }

    }

    return tempStr;

    }

    /**

    * 取单个字符的拼音声母

    *

    * @param c

    * //要转换的单个汉字

    * @return String 拼音声母

    */

    public String getPYChar(String c) {

    byte[] array = new byte[2];

    array = String.valueOf(c).getBytes();

    int i = (short) (array[0] - '\0' + 256) * 256 + ((short) (array[1] - '\0' + 256));

    if (i < 0xB0A1)

    return "*";

    if (i < 0xB0C5)

    return "a";

    if (i < 0xB2C1)

    return "b";

    if (i < 0xB4EE)

    return "c";

    if (i < 0xB6EA)

    return "d";

    if (i < 0xB7A2)

    return "e";

    if (i < 0xB8C1)

    return "f";

    if (i < 0xB9FE)

    return "g";

    if (i < 0xBBF7)

    return "h";

    if (i < 0xBFA6)

    return "j";

    if (i < 0xC0AC)

    return "k";

    if (i < 0xC2E8)

    return "l";

    if (i < 0xC4C3)

    return "m";

    if (i < 0xC5B6)

    return "n";

    if (i < 0xC5BE)

    return "o";

    if (i < 0xC6DA)

    return "p";

    if (i < 0xC8BB)

    return "q";

    if (i < 0xC8F6)

    return "r";

    if (i < 0xCBFA)

    return "s";

    if (i < 0xCDDA)

    return "t";

    if (i < 0xCEF4)

    return "w";

    if (i < 0xD1B9)

    return "x";

    if (i < 0xD4D1)

    return "y";

    if (i < 0xD7FA)

    return "z";

    return "*";

    }

    public static void main(String[] args) {

    ChineseToPinYin ctpy = new ChineseToPinYin();

    Scanner sc = new Scanner(System.in);

    System.out.println("请输入汉字:");

    String str = sc.next();

    String py = ctpy.getPYString(str);

    System.out.print("拼音:" + py);

    }

    }

    代码参考至其它博客,原文不详。

    展开全文
  • 今天分享一个日常开发中可能会用到的一个小功能,简单说就是输入中文汉字可转换得到中文汉字拼音首字母。当然我可写不出这样的功能,源码来自于其他民间大神的分享,博主在此记录一下功能demo,方便日后复用,同时...
  • "通过中文获取拼音" , notes = "通过中文获取拼音" ) @PutMapping ( value = "/keyword" ) public Result < ? > keyword ( @RequestParam ( name = "yingwen" , required = true ) String yingwen , ...

    首先

    在pom文件中引入依赖 pinyin4j

    <dependencies>
        <dependency>
            <groupId>com.belerweb</groupId>
            <artifactId>pinyin4j</artifactId>
            <version>2.5.0</version>
        </dependency>
    </dependencies>
    

    代码

     /**
         * 将拼音转换成拼
         *  ^[\u4E00-\u9FA5]+$ 匹配简体
         */
        @ApiOperation(value="通过中文获取拼音", notes="通过中文获取拼音")
        @PutMapping(value = "/keyword")
        public  Result<?> keyword (@RequestParam(name="yingwen",required=true) String yingwen,boolean full){
    
            String regExp = "^[u4E00-\\u9FA5]+$";
            StringBuffer py = new StringBuffer();
            if (yingwen == null || "".equals(yingwen.trim())) {
                return Result.ok("");
            }
            String pinyin = "";
            for (int i = 0; i < yingwen.length(); i++) {
                char unit = yingwen.charAt(i);
                if (match(String.valueOf(unit), regExp))// 是汉字,则转拼音
                {
                    pinyin = convertSingleyingwen2Pinyin(unit);
                    if (full) {
                        py.append(pinyin);
                    } else {
                        py.append(pinyin.charAt(0));
                    }
                } else {
                    py.append(unit);
                }
            }
            Result result = new Result();
            result.setResult(py.toString());
            return result;
            //return py.toString();
        }
      /*  **
         * 将单个汉字转成拼音
         *
         * @param yingwen
         * @return*/
    
        @AutoLog(value = "将单个汉字转成拼音")
        @ApiOperation(value="将单个汉字转成拼音", notes="将单个汉字转成拼音")
        @PutMapping(value = "/convertSingleyingwen2Pinyin")
        private  String convertSingleyingwen2Pinyin(@RequestParam(name="yingwen",required=true) char yingwen) {
            HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();
            outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
            String[] res;
            StringBuffer py = new StringBuffer();
            try {
                res = PinyinHelper.toHanyuPinyinStringArray(yingwen, outputFormat);
                py.append(res[0]);// 对于多音字,只用第一个拼音
            } catch (Exception e) {
                e.printStackTrace();
                return "";
            }
            return py.toString();
        }
        /***
         * @param str
         * 源字符串
         * @param regex
         * 正则表达式
         * @return 是否匹配
         */
        public static boolean match(String str, String regex) {
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(str);
            return matcher.find();
        } 
    
    展开全文
  • 带拼音及缩写的mysql省市区sql,省市区三张表,里面有中文拼音及拼音缩写字段
  • Dim i As Integer Dim j As Integer Dim sum As Integer Dim beginrow As Integer Dim str As String Dim GetPy As String sum = ActiveWindow.RangeSelection.Rows.Count For Each rng In ActiveWindow....
  • excel中输入汉字自动执行转换成拼音excel中输入汉字自动执行转换成拼音
  • js实现将中文拼音缩写大小写

    千次阅读 2019-03-08 11:40:34
    前端开发一起交流QQ群:740034288。 1. 参考:... 2. 封装: ...var strChineseFirstPY="YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJ...
  • 随机生成中文姓名,并将姓名转换为拼音以及拼音简写,同时能够生成SQL脚本,或者直接插入到数据库中
  • 我们在写程序中,经常会用到SQL中将某个名字转成拼音,然后保存在数据库中某个字段中,方便快捷查询,所以有必要写SQL函数来定义一下,话不多说,直接上代码: Create function fn_GetPy(@str nvarchar(4000)) ...
  • python获取中文字符的拼音简写

    千次阅读 2017-03-02 23:32:19
    #!/usr/bin/env python # -*- coding: utf-8 -*- import os ...#########start获取中文字符的拼音简写############ def multi_get_letter(str_input): if isinstance(str_input, unicode): unico
  • 实现如下功能: 全拼不带声调 全拼带声调 全拼带数字声调 小写缩写 大写缩写 中文名字转英文
  • 中文汉字转成拼音(java 代码)

    千次阅读 2021-02-26 15:43:36
    //获取拼音缩写 newMap.put("acronym", getPinyinAcronym(hanzi));returnnewMap; }//获取汉字字符串的首个汉字的首字母 private static SetgetFirstChar(String hanzi) { Set firsts = null;//获取汉字字符串的拼音 ...
  • mysql获取汉字拼音

    2021-01-19 09:44:23
    -- 创建汉字拼音对照临时表CREATE TABLE IF NOT EXISTS `t_base_pinyin` (`pin_yin_` varchar(255) CHARACTER SET gbk NOT NULL,`code_` int(11) NOT NULL,PRIMARY KEY (`code_`)) ENGINE=InnoDB DEFAULT CHARSET=...
  • sql语句:简写拼音查询

    千次阅读 2018-11-29 15:02:45
    DELIMITER $$#数据库名字 USE `test`$$  DROP FUNCTION IF EXISTS `getPY`$$ #用户名+主机CREATE DEFINER=`root`@`127.0.0.1` FUNCTION `getPY`(in_string VARCHAR(21845)) RETURNS VARCHAR(21845) CHARS...
  • json文件,key为城市的拼音,value为城市对应的汉语词汇。使用Python语言的接口是: import json with open(r'country.json', encoding = 'utf-8') as json_data: country_dict = json.load(json_data)
  • #region 根据中文生成首字母(大写)/// ///根据中文生成首字母(大写)/// /// /// public static string GetPingying(stringstrString){string tempStr = "";//去掉字符串中的特殊符号var str = Regex.Replace(str...
  • 1.JAVA版汉字拼音缩写程序 摘自:http://www.blogjava.net/jiafang83/archive/2009/06/08/280651.html 最近正做一个根据... public class ChnToPinYin{ /** * 汉字拼音缩写 * @param str //要转换的汉字字符串 * @r
  • mysql汉字拼音简码,如果使用函数来写效率不高,现做成UDF,速度很快接近内部函数,转换2万个商品,也在1秒内写成
  • public class aaaaaaa {/*** 汉字拼音缩写* @param str //要转换的汉字字符串* @return String //拼音缩写*/public static String getPYString(String str){String tempStr = "";for(int i=0; ichar c = str....
  • /** * 拼音工具类 * * @author xuan * @version $Revision: 1.0 $, $Date: 2012-11-22 上午9:56:17 $ */ public abstract class SpellUtils { public final static HashMap surnameMap = new HashMap(415);...
  • 批量根据中文名生成拼音字母简写的小工具 以及一个用于随机生成密码的小工具
  • // 判断是否为汉字字符 if (java.lang.Character.toString(t1[i]).matches( "[\\u4E00-\\u9FA5]+")) { t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3); t4 += t2[0]; } else ...
  • 在网上查询到的比较好的做法是在客户信息字段中加上一个拼音缩写字段,在存储的时候,可以把客户姓名的汉字拼音缩写字段存储到一个单独的数据库字段中。在查询的时候,直接根据缩写匹配就可以了。下面是根据汉字姓名...
  • 根据输入的汉字获得简写拼音 如 输入一个 人的名字 (张三) 获得插入的拼音为(zs)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,639
精华内容 2,655
关键字:

中文名字拼音缩写