java获取汉字的拼音首字母_Java获取汉字拼音首字母
根据网上C#版和JAVA版改的。代码很短,但有些复杂的汉字取不了拼音,如“鑫”等。适用一般不是很复杂的情况。
如要更完整的版本,可以使用这个开源的pinyin4j组件。package com.since2006.commons;
import java.io.UnsupportedEncodingException;
/**
* Created by IntelliJ IDEA.
* User: Hex
* Date: 2009-1-15
* Time: 12:47:24
*/
public class GB2Alpha {
private static final int[] AREA_CODE = new int[]{
45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062,
49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698,
52698, 52980, 53689, 54481
};
public static String getFirstAlpha(String text) {
if (text == null || "".equals(text)) {
return "";
}
StringBuffer sb = new StringBuffer();
for (int i = 0; i < text.length(); i++) {
sb.append(getAlpha(text.substring(i, i + 1)));
}
return sb.toString();
}
private static String getAlpha(String character) {
byte[] bytes;
try {
bytes = character.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return character;
}
if (bytes.length < 2) {
return character;
}
int area = (short) bytes[0];
int pos = (short) bytes[1];
int code = (area << 8 & 0xff00) + (pos & 0xff);
for (int i = 0; i < 26; i++) {
int max = 55290;
if (i != 25) {
max = AREA_CODE[i + 1];
}
if (AREA_CODE[i] <= code && code < max) {
return new String(new byte[]{(byte) (65 + i)});
}
}
return character;
}
public static void main(String[] args) {
System.out.println(getFirstAlpha("你好"));
}
}
java获取汉字的拼音首字母_Java获取汉字拼音首字母相关推荐
- java获取汉字的拼音首字母_java获取汉字的拼音首字母
import java.io.UnsupportedEncodingException; /** * 取得给定汉字串的首字母串,即声母串 * Title: ChineseCharToEn * @dat ...
- java汉字的拼音首字母_Java 获取汉字的拼音首字母
Java 获取汉字的拼音首字母: pom.xml 引用 pinyin4j 包: com.belerweb pinyin4j 2.5.0 PinyinUtil 类: package com.xxx.co ...
- java 汉字 字母_JAVA获取中文汉字字符串拼音首字母,英文字符不变的工具类
java在处理项目需求时,有时需要排序,尤其是中文名字按0-9,A-Z进行首字母排序,这时候就需要首先要得到中文字符串的首字母,然后按照字母顺序进行排序,不多说,直接上代码,看java如何获取中文字符 ...
- java将汉字转成拼音首字母大写字母_Java 将汉字转换为拼音并取首字母大写
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先需要引入pinyin4j-2.5.0.jar 在定义一个servlet.Java的类,写一个Converting方法 实例代码详解如下: public ...
- java 中文转首字母_Java 将汉字转换为拼音并取首字母大写
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先需要引入pinyin4j-2.5.0.jar 在定义一个servlet.Java的类,写一个Converting方法 实例代码详解如下: public ...
- java中文名转成大写字母_Java 将汉字转换为拼音并取首字母大写
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先需要引入pinyin4j-2.5.0.jar 在定义一个servlet.Java的类,写一个Converting方法 实例代码详解如下: public ...
- java取字符串首字母_java 获取中文字符的首字母
原理: GB2312编码中的中文是按照拼音排序的 注意: 一些生僻的字无法获得正确的首字母,原因是这些字都是后加入的. import java.io.UnsupportedEncodingExcept ...
- java获取首字母_Java 获取中文首字母的方法
获取一个字符串的首字母是中文排序以及按照字母搜索的基础,一下是实现一个字符串转换为每个汉字首字母的字符串 //根据一个包含汉字的字符串返回一个汉字拼音首字母的字符串 public String get ...
- java相同字符截取第n次_Java 获取字符串中第N次出现的字符位置
public static int getCharacterPosition(String string){ //这里是获取"/"符号的位置 Matcher slashMatche ...
- java验证字符是否为字母_Java程序检查字符是否为字母
Java程序检查字符是否为字母 在此程序中,您将学习检查给定字符是否为字母.这是使用Java中的if...else语句或三元运算符完成的. 示例1:使用if...else语句检查字母的Java程序 p ...
最新文章
- 关于char(M)和varchar(N)的区别
- 2019“编程的夏天”完美收官!这些00后点燃了这个盛夏
- CSS 编码中超级有用的工具集合
- Wget CVE-2014-4877:FTP 符号链接任意文件系统访问
- 迎接.NET 6,《dotnet+Linux中文手册》完整PDF开放下载!
- ABP vNext 审计日志获取真实客户端IP
- 记一次打包的诡异现象
- 空难生还几率这么低,飞机上为什么不配备降落伞???
- delimiter在mysql中的作用_细细研究MySql中delimiter起到的作用_MySQL
- (转) 学习淘淘商城第一课
- 浙江师范大学c语言函数实验答案,浙江师范大学《C语言程序设计》考试卷
- nodejs cluster_NodeJS下好用的Redis客户端ioredis,再推荐一个Redis可视化工具
- php oracle 8.1.7,Oracle 8.1.7在redhat 7.3的安装方法
- matplotlib库使用
- 【零基础 快速学Java】韩顺平 笔记整理(到p170 跑路了)
- Guice集成Properties配置
- Vue中的动态加载组件
- 特斯拉开火,状告5名前员工、小鹏汽车、Zoox身陷漩涡...
- 不要嫌我啰嗦~继续话痨python
- opencv图像识别训练实例
热门文章
- python是什么职业_Python是个什么鬼?为什么那么多工作“会Python优先”?
- 【无关技术】本科毕业设计的一些记录
- Oracle笔记(六) 多表查询、统计函数及分组查询、子查询
- promethues+alertmanager+grafana监控mysql和报警—详细文档
- django基础到高手知识笔记总结,50页笔记,共10大模块(第一期).md
- Arduino超声波测距模块控制蜂鸣器
- php5.6 对 php5.3 的 mcrypt_cbc的替换方法
- EA对勒索无动于衷,黑客曝光全部数据!
- linux引导和启动程序
- 两位程序员 + 60天 = 玩到停不下来的H5游戏!