java中关于拼音的处理。列如:两个字符串按拼音排序(微信好友列表中按姓名排序),获取中文的首字母(字母和数字返回原本)。

 package httpreq.guide;import net.sourceforge.pinyin4j.PinyinHelper;/**@author  作者yangjing: 字符串 拼音* @date 创建时间:2017-2-18 下午4:07:27 */public class PinYin {/*** @Description:两个字符串按汉语拼音排序规则* @return int    返回类型  * @author yangjing  * @date 2017-2-18 下午4:51:45*/public int getSort(String s1,String s2){char[] ss1=s1.toCharArray();char[] ss2=s2.toCharArray();for (int i = 0; i < ss1.length && i < ss2.length; i++) {String sss1=pinyin(ss1[i]);String sss2=pinyin(ss2[i]);if(sss1.compareTo(sss2)>0){return 1;}else if(sss1.compareTo(sss2)<0){return -1;}}//说明前面全部相同,字符串短的小if(s1.length()>s2.length()){return 1;}else if(s1.length()<s2.length()){return -1;}return 0;}/*** @Description: 提取首字母* @return String    返回类型  * @author yangjing  * @date 2017-2-18 下午4:17:45*/public String fristChar(String str){char[] strs=str.toCharArray();String s=pinyin(strs[0]);String fristOne=s.substring(0, 1);String fristset=fristOne.toUpperCase();return fristset;}/*** @Description: 字符的拼音,多音字符就获取第一个,字母的就返回null* @return String    返回类型  * @author yangjing  * @date 2017-2-18 下午4:27:21*/public String pinyin(char c){String[] pinyins=PinyinHelper.toHanyuPinyinStringArray(c);if(pinyins==null){return String.valueOf(c);}return pinyins[0];}/*** @Description: 字符串缩写  如 中国:zg* @return String    返回类型* @author yangjing* @date 2017-2-18 下午4:27:21*/public static String stringShort(String str){char[] ss1=str.toCharArray();StringBuffer stringBuffer=new StringBuffer();for (int i = 0; i < ss1.length ; i++) {String sss1=pinyin(ss1[i]);String fristOne=sss1.substring(0, 1);stringBuffer.append(fristOne.toLowerCase());}return stringBuffer.toString();}/*** @Description: 字符串转化成汉语拼音* @return String    返回类型* @author yangjing* @date 2017-2-18 下午4:27:21*/public static String pinyinStr(String str){char[] ss1=str.toCharArray();StringBuffer stringBuffer=new StringBuffer();for (int i = 0; i < ss1.length; i++) {String sss1=pinyin(ss1[i]);stringBuffer.append(sss1.substring(0, sss1.length()-1));}return stringBuffer.toString();}/*** @Description: 字符串转化成汉语拼音加声调* @return String    返回类型* @author yangjing* @date 2017-2-18 下午4:27:21*/public static String pinyinStrTone(String str){char[] ss1=str.toCharArray();StringBuffer stringBuffer=new StringBuffer();for (int i = 0; i < ss1.length; i++) {String sss1=pinyin(ss1[i]);stringBuffer.append(sss1);}return stringBuffer.toString();}}

java中关于拼音的处理。相关推荐

  1. Java中汉字转拼音pinyin4j的用法

    pinyin4j 是一个支持将简体和繁体中文转换到成拼音的Java开源类库: 依赖jar包导入 <!-- pinyin4j 汉语转拼音 --><dependency><g ...

  2. java中常用的工具类(二)FtpUtil, 汉字转拼音,zip工具类,CollectionUtil,MathUtil,

    下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil Java package com.itjh.javaUtil;import java.io.File; import ...

  3. Java中获取GBK编码汉字的拼音首字母(包括生僻字)

    Java中获取GBK编码汉字的拼音首字母(包括生僻字) 前言 代码 结果 前言 网上关于Java中获取汉字的拼音首字母的方法很多,但大多基于GB2312的汉字所属编码位置判断方法,现有一种基于GBK编 ...

  4. Java 中代码优化的 30 个小技巧(下)

    21 防止死循环 有些小伙伴看到这个标题,可能会感到有点意外,代码中不是应该避免死循环吗?为啥还是会产生死循环? 殊不知有些死循环是我们自己写的,例如下面这段代码: while(true) {if(c ...

  5. java中单根_通俗易懂的告诉你什么是java的单根继承结构

    花10分钟认真的看完一篇文章,或许会有意想不到的收获! 我们都知道java是单继承的,就是一个类只能extends一个父类.但是你知道吗,其实java中有一个类是所有类的父类,就是Object类,这是 ...

  6. java 汉字转拼音缩写_汉字转拼音 java 工具类

    package qing.huang; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import ...

  7. JAVA中的字符编码

    Unicode(统一码.万国码.单一码)是计算机科学领域里的一项业界标准,包括字符集.编码方案等.Unicode 是为了解决传统的字符编码方案的局限而产生的(ASCII码),它为每种语言中的每个字符设 ...

  8. 记录一下:Java 汉字获取拼音或首字母工具类

    记录一下:Java 汉字获取拼音或首字母工具类 Maven依赖配置 Java代码 本文主要记录一下在Java中,如何将字符串中的中文转化为拼音,获取汉字串拼音首字母,获取汉字串拼音的工具类,以及相关的 ...

  9. java中的大小写 String大写S

    练习五:string 数组 String [] names ={"James", "Larry", "Tom", "Lacy&qu ...

最新文章

  1. gzip格式分析与识别
  2. Mysql中(@i:=@i+1)的作用
  3. 多线程共享内存的问题
  4. PackageManagerService启动过程
  5. 2异常处理_异常是什么?什么是常用类?
  6. SAP License:药店ERP系统如何实施
  7. windows xp 的开机黑屏只有光标闪动的解决方法
  8. 带通滤波器作用和用途_常见低通、高通、带通三种滤波器的工作原理
  9. android stadio 编译报错:download fastutil-7.2.0.jar
  10. SpringCloud + RocketMQ实现最大努力通知型事务
  11. python 简单快速爬取豆瓣电影热播名单
  12. 不租服务器,自建个人商业网站(如何购买域名)
  13. delphi 应用程序开发工具
  14. 20189320《网络攻防》第八周作业
  15. jstl标签中的fn与fmt标签的用法
  16. python水印检测_使用Python检测照片中的特定水印(无SciPy)
  17. UVAlive 4394
  18. 红米2电信 android go,超能玩手机:如何让红米2电信版正确支持“全网通”?
  19. 数据结构之顺序表的插入
  20. 法学论文应该注重论证形式

热门文章

  1. python爬虫之正则表达式搜索实战练练手
  2. 【STM32H7】第1章 选择ThreadX的优势
  3. pandas学习(二) Filtering and Sorting Data
  4. Lesson Twenty-nine Come in, Amy. 进来,艾米.
  5. iOS开发常用框架总览!
  6. Form表单的简单使用
  7. Expected all tensors to be on the same device, but found at least two devices 问题解决
  8. 【米哈游】2024秋招技术提前批投递开启!内推码:15G87
  9. Vue的传值方式(二)——双向数据绑定【v-model】
  10. 设计模式之:解剖观察者模式【z】