工作上需要生成一些不重复的Id,并且Id是固定前缀加客户拼音首字母相连产生的,如有重复,末尾加数字

首先是汉字转拼音的jar包

public String getUniqueAk(String cust_name){int index=0;String value = "";while(true){           StringBuffer sb = new StringBuffer("a.c.l.");sb.append(cn2FirstSpell(cust_name));if(index != 0){sb.append(index);}index++;String str = sb.toString();A a = aService.get(str);//是否重复if(aService.get(str) == null){value = str;break;//不重复就跳出}}return value;}
public String cn2FirstSpell(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[] _t = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);if (_t != null) {pybf.append(_t[0].charAt(0));}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pybf.append(arr[i]);}}return pybf.toString().replaceAll("\\W", "").trim();
}

取汉字拼音首字母--生成不重复ID(汉字--拼音--首字母)相关推荐

  1. Excel生成不重复id或者相同的列

    1.生成相同的列数据 先选中单元格,然后在然后输入想要开始和结束的列,用冒号隔开,我输入的是"A2:A100",然后回车.如图: 第二步,用快捷键 ctrl+D  ,就可以生成相同 ...

  2. mysql查询汉字拼音首字母的方法_MySQL查询汉字拼音首字母的方法

    下面为您介绍了MySQL查询汉字拼音首字母的方法,该方法极具实用价值,如果您之前遇到过类似方面的问题,不妨一看. MySQL查询汉字拼音首字母方法如下: 1.建立拼音首字母资料表 Sql代码: DRO ...

  3. Java字母笔顺_Android实现中文汉字笔划(笔画)、中文拼音排序、英文排序

    一.需求描述 最近要做一个类似微信的,在登录界面选择国家地区的功能,微信有中文汉字笔画排序以及中文拼音排序等几种方式,如下所示: 微信:简体中文.拼音排序 微信:繁体中文.笔画排序 微信 英文 字母排 ...

  4. php判断汉子首字母的函数,php获取汉字首字母的函数

    本文介绍用php实现汉字转化为首字母的方法,主要功能是:功能明确,易于修改维护和扩展: 英文的字串:不变返回(包括数字):中文字符串:返回拼音首字符: 中英混合串: 返回拼音首字符和英文. 网上的方法 ...

  5. C#获取汉子对应的拼音(首字母大写或小写,全拼音含首个字母大写)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. java首字母判断星期几_Java 获取汉字串首字母并大写和获取汉字的全拼(英文字符不变) 判断字符串是否为字母...

    在开发一个姓名检索功能的时候 没有使用之前查找到的前端Layui-select 下拉框实现拼音全拼匹配/首字母模糊搜索 在数据库中增加了首字母和全拼的内容实现输入首字母/拼音来检索人员 所以需要用到人 ...

  7. 组合学:使用10个数字与52个字母生成1477万个不重复的4位串码V3完结版本

    一.主要思想(进位制思想): 将0-9-A-z,62个字符做为一个进制系统,存入一个数组,既62位数字进制,4位串码前位不够补0. 累加的操作只需要将末位往后移动一位循环移动,逢"Z&quo ...

  8. 组合学:使用10个数字与52个字母生成1477万个不重复的4位串码

    使用10个数字与52个字母生成1477万个不重复的4位串码(比如应用系统流水号应用场景),那么如何实现动态生成这类串码,并保证其不重复呢? 一.主要思想(进位思想): 将0-9-A-z,62个字符做为 ...

  9. 组合学:使用10个数字与52个字母生成1477万个不重复的4位串码V4衍生版本

     一.主要思想(进位制思想与移位思想): { "0", "1", "2", "3", "4", &q ...

最新文章

  1. 人工智能正在激活互联网类脑系统,2018年,云脑将成为新热点
  2. Linux应用层的定时器Timer使用详解【转】
  3. 小时级部署,客户数上千,神策数据的私有化部署靠什么取胜?
  4. Fedora 17 Beta 版发布
  5. 深入Java集合学习系列:TreeMap实现
  6. VS2010 MVC的 安装
  7. IOS开发之——数据库-Couchbase(05)
  8. win10更新之后解决任务栏卡顿问题
  9. Scala基础语法1
  10. 定义一个类,并且在测试类中使用
  11. 【雅思口语】安娜口语学习记录 Part3
  12. vue3 后台返回的图片链接如何查看与下载
  13. 5、ByteBuffer(基础使用)
  14. Bootstrap学习js插件篇之提示框
  15. Latex常用总结(2):输入矩阵(输入矩阵、对角阵、方程组等)
  16. 关于 惠普 ENVY x360 15 bp10? 升级内存、硬盘 拆机 注意事项
  17. Gox语言中的映射类型(字典类型)及其操作-GX8.1
  18. 前端学习+面试小总结(二)
  19. 5年内被辞退3次,35岁程序员该何去何从?百度,嵌入式音视频开发
  20. 带上皮皮虾一起探讨大数据啦

热门文章

  1. 【C语言】探究整型数据在内存中的存储
  2. DBeaver SQL format 第三方插件方案
  3. ubuntu系统怎么看电脑配置
  4. en结尾的单词_以ey结尾的英文单词发ei-以en结尾的单词有哪些-以key结尾的英文单词...
  5. Game 迷城的国度 Next(类似暗黑的游戏)
  6. java根据日期判断星座_给定公历日期计算12星座(Java代码实现)
  7. 洛谷P2903 [USACO08MAR]麻烦的干草打包机The Loathesome Hay Baler
  8. lumia 525 android 7.1,给大神跪了!诺基亚Lumia 520成功刷上安卓7.1
  9. js判断当前电脑是否安装flash插件
  10. c语言入门经典doc,C语言入门经典C语言编程.ppt